* WIP: Integrate JS SDK v2 - Removes backbone style callbacks - Use Promise instead of Parse.Promise * Fixes ParseObject and ParseRelation * Updates Parse.Query with promises * Alls tests should pass * Ensure a fresh user is used for each test * Use REST implementation to avoid side effects for username/email duplicates * Uses js sdk v2
51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
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.length).toBe(1);
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|