diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-06-24 13:39:22 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-06-24 13:39:22 +0200 |
| commit | e596b72cb902c4eed82c691f1d0170821635052b (patch) | |
| tree | 2293e60bc60ced96e867d34ee2940e866ba9e595 /gui/test | |
| parent | 63193938c1c5719e06eae51f8d213af55125a2de (diff) | |
| parent | 3d7b5def877520e5af76969f8de57c688b34211b (diff) | |
| download | mullvadvpn-e596b72cb902c4eed82c691f1d0170821635052b.tar.xz mullvadvpn-e596b72cb902c4eed82c691f1d0170821635052b.zip | |
Merge branch 'add-account-expired-notification'
Diffstat (limited to 'gui/test')
| -rw-r--r-- | gui/test/account-data-cache.spec.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gui/test/account-data-cache.spec.ts b/gui/test/account-data-cache.spec.ts index bec1c6ef91..770b3ca1f4 100644 --- a/gui/test/account-data-cache.spec.ts +++ b/gui/test/account-data-cache.spec.ts @@ -232,4 +232,33 @@ describe('IAccountData cache', () => { expect(fetchSpy).to.have.been.called.once; }); }); + + it('should refetch one minute before expiry', async () => { + const date = new Date(); + date.setMinutes(date.getMinutes() + 3); + const expiry = date.toISOString(); + + const update = new Promise((resolve, reject) => { + let firstAttempt = true; + const fetch = () => { + if (firstAttempt) { + firstAttempt = false; + setTimeout(() => clock.tick(120_000), 0); + return Promise.resolve({ expiry }); + } else { + resolve(); + return Promise.resolve({ expiry }); + } + }; + + const cache = new AccountDataCache(fetch, () => {}); + + cache.fetch(dummyAccountToken, { + onFinish: () => {}, + onError: (_error: Error) => reject(), + }); + }); + + return expect(update).to.eventually.be.fulfilled; + }); }); |
