mirror of https://github.com/grafana/grafana
Alerting: only track events for survey if user is not new (#61005)
* Only track events data if user is not new To know this we evaluate the creation date to be older than two weeks * Address PR commentspull/61187/head^2
parent
ddc8beda07
commit
115218b1ff
@ -0,0 +1,40 @@ |
||||
import { dateTime } from '@grafana/data'; |
||||
import { getBackendSrv } from '@grafana/runtime'; |
||||
|
||||
import { isNewUser, USER_CREATION_MIN_DAYS } from './Analytics'; |
||||
|
||||
jest.mock('@grafana/runtime', () => ({ |
||||
getBackendSrv: jest.fn().mockReturnValue({ |
||||
get: jest.fn(), |
||||
}), |
||||
})); |
||||
|
||||
describe('isNewUser', function () { |
||||
it('should return true if the user has been created within the last two weeks', async () => { |
||||
const newUser = { |
||||
id: 1, |
||||
createdAt: dateTime().subtract(14, 'days'), |
||||
}; |
||||
|
||||
getBackendSrv().get = jest.fn().mockResolvedValue(newUser); |
||||
|
||||
const isNew = await isNewUser(1); |
||||
expect(isNew).toBe(true); |
||||
expect(getBackendSrv().get).toHaveBeenCalledTimes(1); |
||||
expect(getBackendSrv().get).toHaveBeenCalledWith('/api/users/1'); |
||||
}); |
||||
|
||||
it('should return false if the user has been created prior to the last two weeks', async () => { |
||||
const oldUser = { |
||||
id: 2, |
||||
createdAt: dateTime().subtract(USER_CREATION_MIN_DAYS, 'days'), |
||||
}; |
||||
|
||||
getBackendSrv().get = jest.fn().mockResolvedValue(oldUser); |
||||
|
||||
const isNew = await isNewUser(2); |
||||
expect(isNew).toBe(false); |
||||
expect(getBackendSrv().get).toHaveBeenCalledTimes(1); |
||||
expect(getBackendSrv().get).toHaveBeenCalledWith('/api/users/2'); |
||||
}); |
||||
}); |
Loading…
Reference in new issue