falcor
Version:
A JavaScript library for efficient data fetching.
41 lines (36 loc) • 1.3 kB
JavaScript
var falcor = require("./../../lib/");
var Model = falcor.Model;
var Rx = require("rx");
var noOp = function() {};
var __head = require("./../../lib/internal/head");
var __tail = require("./../../lib/internal/tail");
var __next = require("./../../lib/internal/next");
var __prev = require("./../../lib/internal/prev");
describe('Expired', function() {
it('should ensure that get avoids expired items', function(done) {
var model = new Model({cache: {
"expireSoon": {
"$size": 51,
"summary": {
"$size": 51,
"$expires": Date.now() + 50,
"$type": "atom",
"value": 'sad panda'
}
}
}});
expect(model._root[__head].value).toBe('sad panda');
var onNext = jest.fn();
Rx.Observable.
timer(100).
flatMap(function() {
return model.get(['expireSoon', 'summary']);
}).
doAction(onNext, noOp, function() {
expect(onNext).toHaveBeenCalledTimes(1);
expect(model._root[__head]).toBeUndefined();
expect(model._root[__tail]).toBeUndefined();
}).
subscribe(noOp, done, done);
});
});