Skip to content

Commit 8401d97

Browse files
Merge pull request #3786 from RedisInsight/fe/bugfix/RI-6078-fix-event-telemetry-on-datetime-format-change
RI-6078 fixed event telemetry on datetime change
2 parents 8b3812c + 90ca0d5 commit 8401d97

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

redisinsight/ui/src/pages/settings/components/general-settings/datetime-formatter/components/datetime-form/DatetimeForm.spec.tsx

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ describe('DatetimeForm', () => {
4747
expect(onFormatChange).toBeCalledWith('Invalid Format')
4848
})
4949

50-
it('should call proper telemetry events', async () => {
50+
it('should call proper telemetry events when custom format is saved', async () => {
5151
const sendEventTelemetryMock = jest.fn()
5252
sendEventTelemetry.mockImplementation(() => sendEventTelemetryMock)
5353

@@ -66,4 +66,37 @@ describe('DatetimeForm', () => {
6666
}
6767
})
6868
})
69+
70+
it('should call proper telemetry events when radio option is changed to common', async () => {
71+
const sendEventTelemetryMock = jest.fn()
72+
sendEventTelemetry.mockImplementation(() => sendEventTelemetryMock)
73+
74+
render(<DatetimeForm {...instance(mockedProps)} />)
75+
76+
await act(() => fireEvent.click(screen.getByText('Custom')))
77+
await act(() => fireEvent.click(screen.getByText('Pre-selected formats')))
78+
79+
expect(sendEventTelemetry).toBeCalledWith({
80+
event: TelemetryEvent.SETTINGS_DATE_TIME_FORMAT_CHANGED,
81+
eventData: {
82+
currentFormat: dateTimeOptions[0].value
83+
}
84+
})
85+
})
86+
87+
it('should call sendEventTelemetry when common formats is changed', async () => {
88+
const sendEventTelemetryMock = jest.fn()
89+
sendEventTelemetry.mockImplementation(() => sendEventTelemetryMock)
90+
91+
render(<DatetimeForm {...instance(mockedProps)} />)
92+
93+
fireEvent.click(screen.getByTestId('select-datetime-testid'))
94+
await act(() => fireEvent.click(screen.queryByText(dateTimeOptions[1].value) || document))
95+
expect(sendEventTelemetry).toBeCalledWith({
96+
event: TelemetryEvent.SETTINGS_DATE_TIME_FORMAT_CHANGED,
97+
eventData: {
98+
currentFormat: dateTimeOptions[1].value
99+
}
100+
})
101+
})
69102
})

redisinsight/ui/src/pages/settings/components/general-settings/datetime-formatter/components/datetime-form/DatetimeForm.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ const DatetimeForm = ({ onFormatChange }: Props) => {
103103
formik.setFieldValue('customFormat', formik.values.format)
104104
} else {
105105
formik.setFieldValue('format', formik.values.commonFormat)
106+
sendEventTelemetry({
107+
event: TelemetryEvent.SETTINGS_DATE_TIME_FORMAT_CHANGED,
108+
eventData: {
109+
currentFormat: formik.values.commonFormat,
110+
}
111+
})
106112
formik.handleSubmit()
107113
}
108114
}
@@ -154,6 +160,7 @@ const DatetimeForm = ({ onFormatChange }: Props) => {
154160
onChange={(option) => onCommonFormatChange(option)}
155161
disabled={formik.values.selectedRadioOption !== DatetimeRadioOption.Common}
156162
data-test-subj="select-datetime"
163+
data-testid="select-datetime-testid"
157164
/>
158165
</div>
159166
),

0 commit comments

Comments
 (0)