mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-18 03:41:09 +00:00
Add Is Null and Not Null filters for Owners and other fields (#14762)
* add is null and is not null operation * cypress --------- Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
This commit is contained in:
parent
c4b9d1bd21
commit
29901045ae
@ -75,3 +75,78 @@ describe(`Advanced search quick filters should work properly for assets`, () =>
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const testIsNullAndIsNotNullFilters = (operatorTitle, queryFilter, alias) => {
|
||||||
|
cy.sidebarClick('app-bar-item-explore');
|
||||||
|
const asset = QUICK_FILTERS_BY_ASSETS[0];
|
||||||
|
cy.get(`[data-testid="${asset.tab}"]`).scrollIntoView().click();
|
||||||
|
cy.get('[data-testid="advance-search-button"]').click();
|
||||||
|
|
||||||
|
// Check Is Null or Is Not Null
|
||||||
|
cy.get('.rule--operator > .ant-select > .ant-select-selector').eq(0).click();
|
||||||
|
cy.get(`[title="${operatorTitle}"]`).click();
|
||||||
|
|
||||||
|
cy.intercept('GET', '/api/v1/search/query?*', (req) => {
|
||||||
|
req.alias = alias;
|
||||||
|
}).as(alias);
|
||||||
|
|
||||||
|
cy.get('[data-testid="apply-btn"]').click();
|
||||||
|
|
||||||
|
cy.wait(`@${alias}`).then((xhr) => {
|
||||||
|
const actualQueryFilter = JSON.parse(xhr.request.query['query_filter']);
|
||||||
|
|
||||||
|
expect(actualQueryFilter).to.deep.equal(queryFilter);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
describe(`Advanced Search Modal`, () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.login();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should check isNull and isNotNull filters', () => {
|
||||||
|
// Check Is Null
|
||||||
|
const isNullQuery = {
|
||||||
|
query: {
|
||||||
|
bool: {
|
||||||
|
must: [
|
||||||
|
{
|
||||||
|
bool: {
|
||||||
|
must: [
|
||||||
|
{
|
||||||
|
bool: {
|
||||||
|
must_not: {
|
||||||
|
exists: { field: 'owner.displayName.keyword' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
testIsNullAndIsNotNullFilters('Is null', isNullQuery, 'searchAPI');
|
||||||
|
|
||||||
|
// Check Is Not Null
|
||||||
|
const isNotNullQuery = {
|
||||||
|
query: {
|
||||||
|
bool: {
|
||||||
|
must: [
|
||||||
|
{
|
||||||
|
bool: {
|
||||||
|
must: [{ exists: { field: 'owner.displayName.keyword' } }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
testIsNullAndIsNotNullFilters(
|
||||||
|
'Is not null',
|
||||||
|
isNotNullQuery,
|
||||||
|
'newSearchAPI'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
@ -287,6 +287,7 @@ const ExploreV1: React.FC<ExploreProps> = ({
|
|||||||
{(quickFilters || sqlQuery) && (
|
{(quickFilters || sqlQuery) && (
|
||||||
<Typography.Text
|
<Typography.Text
|
||||||
className="text-primary self-center cursor-pointer"
|
className="text-primary self-center cursor-pointer"
|
||||||
|
data-testid="clear-filters"
|
||||||
onClick={() => clearFilters()}>
|
onClick={() => clearFilters()}>
|
||||||
{t('label.clear-entity', {
|
{t('label.clear-entity', {
|
||||||
entity: '',
|
entity: '',
|
||||||
|
|||||||
@ -458,8 +458,6 @@ const getInitialConfigWithoutFields = () => {
|
|||||||
operators: ['like', 'not_like'],
|
operators: ['like', 'not_like'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// Removes NULL check operators
|
|
||||||
excludeOperators: ['is_null', 'is_not_null'],
|
|
||||||
// Limits source to user input values, not other fields
|
// Limits source to user input values, not other fields
|
||||||
valueSources: ['value'],
|
valueSources: ['value'],
|
||||||
},
|
},
|
||||||
@ -471,7 +469,6 @@ const getInitialConfigWithoutFields = () => {
|
|||||||
operators: ['like', 'not_like'],
|
operators: ['like', 'not_like'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
excludeOperators: ['is_null', 'is_not_null'],
|
|
||||||
valueSources: ['value'],
|
valueSources: ['value'],
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user