mirror of
https://github.com/apache/superset.git
synced 2026-04-07 10:31:50 +00:00
test: Tests audit for the Dashboard FilterBar (#13916)
* Add FilterBar tests * Finalize FilterBar tests * Add tests for FilterBar Header * Add tests for FilterBar FilterConfigurationLink * Add tests for FilterBar FilterSets EditSection * Add tests for FilterBar FilterSets * Clean up * Add tests for FilterBar FilterSetUnit * Add tests for FilterBar FilterSets FiltersHeader * Add tests for FilterBar FilterSets Footer * Fix linting * Fix import * Fix minor changes * Fix import * Add factory and clean up
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React from 'react';
|
||||
import { styledMount as mount } from 'spec/helpers/theming';
|
||||
import { Provider } from 'react-redux';
|
||||
import FilterBar from 'src/dashboard/components/nativeFilters/FilterBar/FilterBar';
|
||||
import Button from 'src/components/Button';
|
||||
import { mockStore } from 'spec/fixtures/mockStore';
|
||||
|
||||
describe('FilterBar', () => {
|
||||
const props = {
|
||||
filtersOpen: false,
|
||||
toggleFiltersBar: jest.fn(),
|
||||
};
|
||||
|
||||
const wrapper = mount(
|
||||
<Provider store={mockStore}>
|
||||
<FilterBar {...props} />
|
||||
</Provider>,
|
||||
);
|
||||
|
||||
it('is a valid', () => {
|
||||
expect(React.isValidElement(<FilterBar {...props} />)).toBe(true);
|
||||
});
|
||||
it('has filter and collapse icons', () => {
|
||||
expect(wrapper.find({ name: 'filter' })).toExist();
|
||||
expect(wrapper.find({ name: 'collapse' })).toExist();
|
||||
});
|
||||
it('has apply and clear all buttons', () => {
|
||||
expect(wrapper.find(Button).length).toBe(2);
|
||||
expect(wrapper.find(Button).at(0)).toHaveProp('buttonStyle', 'tertiary');
|
||||
expect(wrapper.find(Button).at(1)).toHaveProp('buttonStyle', 'primary');
|
||||
});
|
||||
});
|
||||
@@ -1,45 +0,0 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import React from 'react';
|
||||
import { styledMount as mount } from 'spec/helpers/theming';
|
||||
import { Provider } from 'react-redux';
|
||||
import FilterConfigurationLink from 'src/dashboard/components/nativeFilters/FilterBar/FilterConfigurationLink';
|
||||
import { mockStore } from 'spec/fixtures/mockStore';
|
||||
|
||||
describe('FilterConfigurationButton', () => {
|
||||
const mockedProps = {
|
||||
createNewOnOpen: false,
|
||||
};
|
||||
it('is valid', () => {
|
||||
expect(
|
||||
React.isValidElement(<FilterConfigurationLink {...mockedProps} />),
|
||||
).toBe(true);
|
||||
});
|
||||
it('takes in children', () => {
|
||||
const wrapper = mount(
|
||||
<Provider store={mockStore}>
|
||||
<FilterConfigurationLink {...mockedProps}>
|
||||
{' '}
|
||||
<span>Test</span>
|
||||
</FilterConfigurationLink>
|
||||
</Provider>,
|
||||
);
|
||||
expect(wrapper.find('span')).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
@@ -19,8 +19,28 @@
|
||||
import { DataMaskStateWithId, DataMaskType } from 'src/dataMask/types';
|
||||
import { NativeFiltersState } from 'src/dashboard/reducers/types';
|
||||
|
||||
export const mockDataMaskInfo: DataMaskStateWithId = {
|
||||
[DataMaskType.CrossFilters]: {},
|
||||
[DataMaskType.OwnFilters]: {},
|
||||
[DataMaskType.NativeFilters]: {
|
||||
DefaultsID: {
|
||||
id: 'DefaultId',
|
||||
currentState: {
|
||||
value: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const nativeFiltersInfo: NativeFiltersState = {
|
||||
filterSets: {},
|
||||
filterSets: {
|
||||
'set-id': {
|
||||
id: 'DefaultsID',
|
||||
name: 'Set name',
|
||||
nativeFilters: {},
|
||||
dataMask: mockDataMaskInfo,
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
DefaultsID: {
|
||||
cascadeParentIds: [],
|
||||
@@ -49,16 +69,3 @@ export const nativeFiltersInfo: NativeFiltersState = {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const mockDataMaskInfo: DataMaskStateWithId = {
|
||||
[DataMaskType.CrossFilters]: {},
|
||||
[DataMaskType.OwnFilters]: {},
|
||||
[DataMaskType.NativeFilters]: {
|
||||
DefaultsID: {
|
||||
id: 'DefaultId',
|
||||
currentState: {
|
||||
value: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user