/
SessionTokenCache.spec.js
54 lines (45 loc) · 1.43 KB
/
SessionTokenCache.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const SessionTokenCache = require('../lib/LiveQuery/SessionTokenCache').SessionTokenCache;
describe('SessionTokenCache', function () {
beforeEach(function (done) {
const Parse = require('parse/node');
spyOn(Parse, 'Query').and.returnValue({
first: jasmine.createSpy('first').and.returnValue(
Promise.resolve(
new Parse.Object('_Session', {
user: new Parse.User({ id: 'userId' }),
})
)
),
equalTo: function () {},
});
done();
});
it('can get undefined userId', function (done) {
const sessionTokenCache = new SessionTokenCache();
sessionTokenCache.getUserId(undefined).then(
() => {},
error => {
expect(error).not.toBeNull();
done();
}
);
});
it('can get existing userId', function (done) {
const sessionTokenCache = new SessionTokenCache();
const sessionToken = 'sessionToken';
const userId = 'userId';
sessionTokenCache.cache.set(sessionToken, userId);
sessionTokenCache.getUserId(sessionToken).then(userIdFromCache => {
expect(userIdFromCache).toBe(userId);
done();
});
});
it('can get new userId', function (done) {
const sessionTokenCache = new SessionTokenCache();
sessionTokenCache.getUserId('sessionToken').then(userIdFromCache => {
expect(userIdFromCache).toBe('userId');
expect(sessionTokenCache.cache.size).toBe(1);
done();
});
});
});