diff --git a/tests/e2e/test-data/formatters-data.ts b/tests/e2e/test-data/formatters-data.ts index 23d71e7e5a..3398f3e0e6 100644 --- a/tests/e2e/test-data/formatters-data.ts +++ b/tests/e2e/test-data/formatters-data.ts @@ -11,6 +11,7 @@ import { Vector32BitFormatter, Vector64BitFormatter } from './formatters'; +import { DataTimeFormatter } from './formatters/DataTime'; interface IFormatter { format: string, @@ -36,7 +37,8 @@ export const formatters: IFormatter[] = [ BinaryFormatter, PickleFormatter, Vector32BitFormatter, - Vector64BitFormatter + Vector64BitFormatter, + DataTimeFormatter ]; export const binaryFormattersSet: IFormatter[] = [ diff --git a/tests/e2e/test-data/formatters/DataTime.ts b/tests/e2e/test-data/formatters/DataTime.ts new file mode 100644 index 0000000000..56d4f4ee8b --- /dev/null +++ b/tests/e2e/test-data/formatters/DataTime.ts @@ -0,0 +1,7 @@ +export const DataTimeFormatter = { + format: 'Timestamp to DateTime', + fromText: '1633072800', + fromTextEdit: '-179064000000', + formattedText: '09:20:00.000 1 Oct 2021', + formattedTextEdit: '13:00:00.000 29 Apr 1964' +}; diff --git a/tests/e2e/tests/web/critical-path/browser/formatters.e2e.ts b/tests/e2e/tests/web/critical-path/browser/formatters.e2e.ts index 10acce9673..5003bc87bd 100644 --- a/tests/e2e/tests/web/critical-path/browser/formatters.e2e.ts +++ b/tests/e2e/tests/web/critical-path/browser/formatters.e2e.ts @@ -11,7 +11,8 @@ import { formattersHighlightedSet, formattersWithTooltipSet, fromBinaryFormattersSet, - notEditableFormattersSet + notEditableFormattersSet, + formatters } from '../../../../test-data/formatters-data'; import { phpData } from '../../../../test-data/formatters'; @@ -233,3 +234,48 @@ notEditableFormattersSet.forEach(formatter => { } }); }); +test('Verify that user can format timestamp value', async t => { + const formatterName = 'Timestamp to DateTime'; + await browserPage.openKeyDetailsByKeyName(keysData[0].keyName); + //Add fields to the hash key + await browserPage.selectFormatter('Unicode'); + const formatter = formatters.find(f => f.format === formatterName); + if (!formatter) { + throw new Error('Formatter not found'); + } + // add key in sec + const hashSec = { + field: 'fromTextSec', + value: formatter.fromText! + }; + // add key in msec + const hashMsec = { + field: 'fromTextMsec', + value: `${formatter.fromText!}000` + }; + // add key with minus + const hashMinusSec = { + field: 'fromTextEdit', + value: formatter.fromTextEdit! + }; + //Search the added field + await browserPage.addFieldToHash( + hashSec.field, hashSec.value + ); + await browserPage.addFieldToHash( + hashMsec.field, hashMsec.value + ); + await browserPage.addFieldToHash( + hashMinusSec.field, hashMinusSec.value + ); + + await browserPage.searchByTheValueInKeyDetails(hashSec.field); + await browserPage.selectFormatter('DateTime'); + await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedText!, `Value is not formatted as DateTime ${formatter.fromText}`); + + await browserPage.searchByTheValueInKeyDetails(hashMsec.field); + await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedText!, `Value is not formatted as DateTime ${formatter.fromTextEdit}`); + + await browserPage.searchByTheValueInKeyDetails(hashMinusSec.field); + await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedTextEdit!, `Value is not formatted as DateTime ${formatter.fromTextEdit}`); +});