Skip to content
Prev Previous commit
Next Next commit
[test] correct test for filter wrapper
  • Loading branch information
chunming-c committed Apr 4, 2018
commit a35701fabfc84675656a1f81fed1ba7c1c59116d
13 changes: 13 additions & 0 deletions packages/react-bootstrap-table2-filter/test/filter.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@ describe('filter', () => {
filterFn = filters(store, columns, _);
});

describe('when filter value is not a String', () => {
it('should transform to string and do the filter', () => {
currFilters.name = {
filterVal: 3,
filterType: FILTER_TYPE.TEXT
};

const result = filterFn(currFilters);
expect(result).toBeDefined();
expect(result).toHaveLength(2);
});
});

describe(`when default comparator is ${LIKE}`, () => {
it('should returning correct result', () => {
currFilters.name = {
Expand Down
20 changes: 10 additions & 10 deletions packages/react-bootstrap-table2-filter/test/wrapper.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,14 +167,14 @@ describe('Wrapper', () => {

it('should setting store object correctly', () => {
filterVals.forEach((filterVal) => {
instance.onFilter(props.columns[1], filterVal, FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)(filterVal);
expect(props.store.filtering).toBeFalsy();
});
});

it('should setting state correctly', () => {
filterVals.forEach((filterVal) => {
instance.onFilter(props.columns[1], filterVal, FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)(filterVal);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(0);
});
Expand All @@ -185,12 +185,12 @@ describe('Wrapper', () => {
const filterVal = '3';

it('should setting store object correctly', () => {
instance.onFilter(props.columns[1], filterVal, FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)(filterVal);
expect(props.store.filters).toEqual(instance.state.currFilters);
});

it('should setting state correctly', () => {
instance.onFilter(props.columns[1], filterVal, FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)(filterVal);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(1);
});
Expand All @@ -203,7 +203,7 @@ describe('Wrapper', () => {
props = createTableProps();
props.remote = { filter: true };
createFilterWrapper(props);
instance.onFilter(props.columns[1], filterVal, FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)(filterVal);
});

it('should not setting store object correctly', () => {
Expand All @@ -222,27 +222,27 @@ describe('Wrapper', () => {

describe('combination', () => {
it('should setting store object correctly', () => {
instance.onFilter(props.columns[1], '3', FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)('3');
expect(props.store.filters).toEqual(instance.state.currFilters);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(1);

instance.onFilter(props.columns[1], '2', FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)('2');
expect(props.store.filters).toEqual(instance.state.currFilters);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(1);

instance.onFilter(props.columns[2], '2', FILTER_TYPE.TEXT);
instance.onFilter(props.columns[2], FILTER_TYPE.TEXT)('2');
expect(props.store.filters).toEqual(instance.state.currFilters);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(2);

instance.onFilter(props.columns[2], '', FILTER_TYPE.TEXT);
instance.onFilter(props.columns[2], FILTER_TYPE.TEXT)('');
expect(props.store.filters).toEqual(instance.state.currFilters);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(1);

instance.onFilter(props.columns[1], '', FILTER_TYPE.TEXT);
instance.onFilter(props.columns[1], FILTER_TYPE.TEXT)('');
expect(props.store.filters).toEqual(instance.state.currFilters);
expect(instance.state.isDataChanged).toBeTruthy();
expect(Object.keys(instance.state.currFilters)).toHaveLength(0);
Expand Down