1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import GroupStore from 'app/stores/groupStore';
- describe('GroupStore', function() {
- let sandbox;
- beforeEach(function() {
- GroupStore.reset();
- sandbox = sinon.sandbox.create();
- });
- afterEach(function() {
- sandbox.restore();
- });
- describe('add()', function() {
- it('should add new entries', function() {
- GroupStore.items = [];
- GroupStore.add([{id: 1}, {id: 2}]);
- expect(GroupStore.items).toEqual([{id: 1}, {id: 2}]);
- });
- it('should update matching existing entries', function() {
- GroupStore.items = [{id: 1}, {id: 2}];
- GroupStore.add([{id: 1, foo: 'bar'}, {id: 3}]);
- expect(GroupStore.items).toEqual([{id: 1, foo: 'bar'}, {id: 2}, {id: 3}]);
- });
- });
- describe('onMergeSuccess()', function() {
- it('should remove the non-parent merged ids', function() {
- GroupStore.items = [{id: 1}, {id: 2}, {id: 3}, {id: 4}];
- GroupStore.onMergeSuccess(
- null,
- [2, 3, 4], // items merged
- {merge: {parent: 3}} // merge API response
- );
- expect(GroupStore.items).toEqual([
- {id: 1},
- {id: 3}, // parent
- ]);
- });
- });
- describe('update methods', function() {
- beforeEach(function() {
- GroupStore.reset();
- GroupStore.items = [{id: 1}, {id: 2}, {id: 3}];
- });
- describe('onUpdate()', function() {
- it("should treat undefined itemIds argument as 'all'", function() {
- sandbox.stub(GroupStore, 'trigger');
- GroupStore.onUpdate(1337, undefined, 'somedata');
- expect(GroupStore.trigger.calledOnce).toBeTruthy();
- expect(GroupStore.trigger.firstCall.args[0]).toEqual(new Set([1, 2, 3]));
- });
- });
- describe('onUpdateSuccess()', function() {
- it("should treat undefined itemIds argument as 'all'", function() {
- sandbox.stub(GroupStore, 'trigger');
- GroupStore.onUpdateSuccess(1337, undefined, 'somedata');
- expect(GroupStore.trigger.calledOnce).toBeTruthy();
- expect(GroupStore.trigger.firstCall.args[0]).toEqual(new Set([1, 2, 3]));
- });
- });
- describe('onUpdateError()', function() {
- it("should treat undefined itemIds argument as 'all'", function() {
- sandbox.stub(GroupStore, 'trigger');
- GroupStore.onUpdateError(1337, undefined, 'something failed', false);
- expect(GroupStore.trigger.calledOnce).toBeTruthy();
- expect(GroupStore.trigger.firstCall.args[0]).toEqual(new Set([1, 2, 3]));
- });
- });
- describe('onDeleteSuccess()', function() {
- it("should treat undefined itemIds argument as 'all'", function() {
- sandbox.stub(GroupStore, 'trigger');
- GroupStore.onDeleteSuccess(1337, undefined, 'somedata');
- expect(GroupStore.trigger.calledOnce).toBeTruthy();
- expect(GroupStore.trigger.firstCall.args[0]).toEqual(new Set([1, 2, 3]));
- });
- });
- });
- });
|