@itexpert-dev/components-key-value-storage
Version:
wrapper for components storage
82 lines (65 loc) • 3.06 kB
text/typescript
import {ComponentsKeyValueStorage} from './componentsKeyValueStorage'
import {IAppendComponentParams} from "./IAppendComponentParams";
import {Component} from "@angular/core";
describe("tests for component key-value storage", ()=>{
let testStorage : any;
let testKey = 'test';
beforeEach(function() {
testStorage = new ComponentsKeyValueStorage();
});
describe('get component from store', ()=>{
it('should try get data from inner store by key',()=>{
spyOn(testStorage.storage, 'get').and.returnValue('value');
let result = testStorage.getComponent(testKey);
//
expect(testStorage.storage.get).toHaveBeenCalled();
expect(testStorage.storage.get).toHaveBeenCalledWith(testKey);
expect(testStorage.storage.get.calls.argsFor(0)).toEqual([testKey]);
expect(result).toBe('value');
})
});
describe('remove component from store', ()=>{
it('should try remove component from inner store by key',()=>{
spyOn(testStorage.storage, 'remove');
let result = testStorage.removeComponent(testKey);
//
expect(testStorage.storage.remove).toHaveBeenCalled();
expect(testStorage.storage.remove).toHaveBeenCalledWith(testKey);
})
});
describe('add component to store', ()=>{
it('should try add components to inner store ',()=>{
let comp1Name = 'comp1';
let comp1 : IAppendComponentParams = {
componentName: comp1Name,
force: true,
component: { selector: comp1Name} as Component
};
let comp2Name = 'comp2';
let comp2 : IAppendComponentParams = {
componentName: comp2Name,
force: true,
component: { selector: comp2Name} as Component
};
let comp3Name = 'comp3';
let comp3 : IAppendComponentParams = {
componentName: comp3Name,
force: true,
component: { selector: comp3Name} as Component
};
spyOn(testStorage.storage, 'add');
testStorage.addComponent(comp1, comp2, comp3);
//
expect(testStorage.storage.add.calls.count()).toBe(3);
let args1stCall = testStorage.storage.add.calls.argsFor(0);
expect(args1stCall[0].value.selector).toEqual(comp1Name);
expect(args1stCall[0].key).toEqual(comp1Name);
let args2stCall = testStorage.storage.add.calls.argsFor(1);
expect(args2stCall[0].value.selector).toEqual(comp2Name);
expect(args2stCall[0].key).toEqual(comp2Name);
let args3stCall = testStorage.storage.add.calls.argsFor(2);
expect(args3stCall[0].value.selector).toEqual(comp3Name);
expect(args3stCall[0].key).toEqual(comp3Name);
})
});
});