Files
kami-parse-server/spec/SessionTokenCache.spec.js
Florent Vilmart ff25ae254d Update parse SDK to 2.0.0 (#4925)
* 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
2018-08-05 13:58:07 -04:00

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();
});
});
});