Skip to content

Commit e8151d6

Browse files
committed
more stsmanager tests
1 parent c323811 commit e8151d6

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

packages/auth/src/core/user/token_manager.test.ts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,35 @@ describe('core/user/token_manager', () => {
144144
});
145145
});
146146

147-
it('returns non null if the refresh token is missing', async () => {
148-
expect(await stsTokenManager.getToken(auth)).to.not.be.null;
147+
it('returns non-null if the refresh token is missing but token still valid', async () => {
148+
Object.assign(stsTokenManager, {
149+
accessToken: 'access-token',
150+
expirationTime: now + 100_000
151+
});
152+
const tokens = await stsTokenManager.getToken(auth, false);
153+
expect(tokens).to.eql('new-access-token');
154+
});
155+
156+
it('throws an error if the refresh token is missing and force refresh is true', async () => {
157+
Object.assign(stsTokenManager, {
158+
accessToken: 'access-token',
159+
expirationTime: now + 100_000
160+
});
161+
await expect(stsTokenManager.getToken(auth, true)).to.be.rejectedWith(
162+
FirebaseError,
163+
"Firebase: The user's credential is no longer valid. The user must sign in again. (auth/user-token-expired)"
164+
);
165+
});
166+
167+
it('throws an error if the refresh token is missing and token is no longer valid', async () => {
168+
Object.assign(stsTokenManager, {
169+
accessToken: 'old-access-token',
170+
expirationTime: now - 1
171+
});
172+
await expect(stsTokenManager.getToken(auth)).to.be.rejectedWith(
173+
FirebaseError,
174+
"Firebase: The user's credential is no longer valid. The user must sign in again. (auth/user-token-expired)"
175+
);
149176
});
150177

151178
it('throws an error if expired but refresh token is missing', async () => {

0 commit comments

Comments
 (0)