| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- describe('ngTableDefaultGetData', function () {
- var ngTableDefaultGetData,
- ngTableDefaultGetDataProvider,
- tableParams;
- beforeEach(function () {
- // grab a reference to the service provider
- // by injecting it to a fake module's config block
- var fakeModule = angular.module('test.config', function () {});
- fakeModule.config( function (_ngTableDefaultGetDataProvider_) {
- ngTableDefaultGetDataProvider = _ngTableDefaultGetDataProvider_;
- });
- // Initialize test.app injector
- module('ngTable', 'test.config');
- });
- beforeEach(inject(function(_ngTableDefaultGetData_, NgTableParams){
- ngTableDefaultGetData = _ngTableDefaultGetData_;
- tableParams = new NgTableParams({ count: 10}, { counts: [10]});
- }));
- it('should be configured to use built-in angular filters', function(){
- expect(ngTableDefaultGetDataProvider.filterFilterName).toBe('filter');
- expect(ngTableDefaultGetDataProvider.sortingFilterName).toBe('orderBy');
- });
- describe('filters', function(){
- it('empty filter', function(){
- // given
- tableParams.filter({});
- // when
- var actualResults = ngTableDefaultGetData([{ age: 1 }, { age: 2}, { age: 3}], tableParams);
- // then
- expect(actualResults).toEqual([{ age: 1 }, { age: 2}, { age: 3}]);
- });
- it('empty filter - simple values', function(){
- // given
- tableParams.filter({});
- // when
- var actualResults = ngTableDefaultGetData([1,2,3], tableParams);
- // then
- expect(actualResults).toEqual([1,2,3]);
- });
- it('single property filter', function(){
- // given
- tableParams.filter({ age: 1});
- // when
- var actualResults = ngTableDefaultGetData([{ age: 1 }, { age: 2}, { age: 3}], tableParams);
- // then
- expect(actualResults).toEqual([{ age: 1}]);
- });
- it('multiple property filter', function(){
- // given
- var data = [{age: 1, name: 'A'}, {age: 2, name: 'B'}, {age: 3, name: 'B'}];
- tableParams.filter({ age: 2, name: 'B'});
- // when
- var actualResults = ngTableDefaultGetData(data, tableParams);
- // then
- expect(actualResults).toEqual([{age: 2, name: 'B'}]);
- });
- it('should remove null and undefined values before applying', function(){
- // given
- var data = [{age: 1, name: 'A'}, {age: 2, name: 'B'}, {age: 3, name: 'B'}];
- tableParams.filter({ age: null, name: 'B'});
- // when
- var actualResults = ngTableDefaultGetData(data, tableParams);
- // then
- expect(actualResults).toEqual([{age: 2, name: 'B'}, {age: 3, name: 'B'}]);
- });
- it('should remove empty string value before applying', function(){
- // given
- var data = [{age: 1, name: 'A'}, {age: 2, name: 'B'}, {age: 3, name: 'B'}];
- tableParams.filter({ age: 2, name: ''});
- // when
- var actualResults = ngTableDefaultGetData(data, tableParams);
- // then
- expect(actualResults).toEqual([{age: 2, name: 'B'}]);
- });
- });
- });
|