Skip to content

Commit bfd2e57

Browse files
Merge pull request #3676 from RedisInsight/e2e/feature/RI-5965-add-a-timestamp-formatter
formatter timestamp
2 parents 73212ac + d8e4fb8 commit bfd2e57

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

tests/e2e/test-data/formatters-data.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
Vector32BitFormatter,
1212
Vector64BitFormatter
1313
} from './formatters';
14+
import { DataTimeFormatter } from './formatters/DataTime';
1415

1516
interface IFormatter {
1617
format: string,
@@ -36,7 +37,8 @@ export const formatters: IFormatter[] = [
3637
BinaryFormatter,
3738
PickleFormatter,
3839
Vector32BitFormatter,
39-
Vector64BitFormatter
40+
Vector64BitFormatter,
41+
DataTimeFormatter
4042
];
4143

4244
export const binaryFormattersSet: IFormatter[] = [
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export const DataTimeFormatter = {
2+
format: 'Timestamp to DateTime',
3+
fromText: '1633072800',
4+
fromTextEdit: '-179064000000',
5+
formattedText: '09:20:00.000 1 Oct 2021',
6+
formattedTextEdit: '13:00:00.000 29 Apr 1964'
7+
};

tests/e2e/tests/web/critical-path/browser/formatters.e2e.ts

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
formattersHighlightedSet,
1212
formattersWithTooltipSet,
1313
fromBinaryFormattersSet,
14-
notEditableFormattersSet
14+
notEditableFormattersSet,
15+
formatters
1516
} from '../../../../test-data/formatters-data';
1617
import { phpData } from '../../../../test-data/formatters';
1718

@@ -233,3 +234,48 @@ notEditableFormattersSet.forEach(formatter => {
233234
}
234235
});
235236
});
237+
test('Verify that user can format timestamp value', async t => {
238+
const formatterName = 'Timestamp to DateTime';
239+
await browserPage.openKeyDetailsByKeyName(keysData[0].keyName);
240+
//Add fields to the hash key
241+
await browserPage.selectFormatter('Unicode');
242+
const formatter = formatters.find(f => f.format === formatterName);
243+
if (!formatter) {
244+
throw new Error('Formatter not found');
245+
}
246+
// add key in sec
247+
const hashSec = {
248+
field: 'fromTextSec',
249+
value: formatter.fromText!
250+
};
251+
// add key in msec
252+
const hashMsec = {
253+
field: 'fromTextMsec',
254+
value: `${formatter.fromText!}000`
255+
};
256+
// add key with minus
257+
const hashMinusSec = {
258+
field: 'fromTextEdit',
259+
value: formatter.fromTextEdit!
260+
};
261+
//Search the added field
262+
await browserPage.addFieldToHash(
263+
hashSec.field, hashSec.value
264+
);
265+
await browserPage.addFieldToHash(
266+
hashMsec.field, hashMsec.value
267+
);
268+
await browserPage.addFieldToHash(
269+
hashMinusSec.field, hashMinusSec.value
270+
);
271+
272+
await browserPage.searchByTheValueInKeyDetails(hashSec.field);
273+
await browserPage.selectFormatter('DateTime');
274+
await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedText!, `Value is not formatted as DateTime ${formatter.fromText}`);
275+
276+
await browserPage.searchByTheValueInKeyDetails(hashMsec.field);
277+
await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedText!, `Value is not formatted as DateTime ${formatter.fromTextEdit}`);
278+
279+
await browserPage.searchByTheValueInKeyDetails(hashMinusSec.field);
280+
await t.expect(await browserPage.getHashKeyValue()).eql(formatter.formattedTextEdit!, `Value is not formatted as DateTime ${formatter.fromTextEdit}`);
281+
});

0 commit comments

Comments
 (0)