mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 11:00:03 -03:30
Merge pull request #1669 from jakemcdermott/fix-1668
use icontains when expected for searches
This commit is contained in:
commit
b9f9104f57
@ -104,6 +104,7 @@ function QuerysetService ($q, Rest, ProcessErrors, $rootScope, Wait, DjangoSearc
|
||||
}
|
||||
let paramString = exclude ? "not__" : "";
|
||||
let valueString = paramParts[1];
|
||||
|
||||
if(keySplit.length === 1) {
|
||||
if(searchTerm && !lessThanGreaterThan) {
|
||||
if(singleSearchParam) {
|
||||
@ -407,9 +408,9 @@ function QuerysetService ($q, Rest, ProcessErrors, $rootScope, Wait, DjangoSearc
|
||||
if (termParts.length === 1) {
|
||||
termParams = searchWithoutKey(term, singleSearchParam);
|
||||
} else if ((isAnsibleFactField && isAnsibleFactField(termParts)) || (isFilterableBaseField && isFilterableBaseField(termParts))) {
|
||||
termParams = this.encodeParam({ term, singleSearchParam });
|
||||
termParams = this.encodeParam({ term, singleSearchParam, searchTerm: true });
|
||||
} else if (isRelatedField && isRelatedField(termParts)) {
|
||||
termParams = this.encodeParam({ term, singleSearchParam, related: true });
|
||||
termParams = this.encodeParam({ term, singleSearchParam, relatedSearchTerm: true });
|
||||
} else {
|
||||
termParams = searchWithoutKey(term, singleSearchParam);
|
||||
}
|
||||
@ -458,9 +459,9 @@ function QuerysetService ($q, Rest, ProcessErrors, $rootScope, Wait, DjangoSearc
|
||||
if (termParts.length === 1) {
|
||||
removed = searchWithoutKey(term, singleSearchParam);
|
||||
} else if ((isAnsibleFactField && isAnsibleFactField(termParts)) || (isFilterableBaseField && isFilterableBaseField(termParts))) {
|
||||
removed = this.encodeParam({ term, singleSearchParam });
|
||||
removed = this.encodeParam({ term, singleSearchParam, searchTerm: true });
|
||||
} else if (isRelatedField && isRelatedField(termParts)) {
|
||||
removed = this.encodeParam({ term, singleSearchParam, related: true });
|
||||
removed = this.encodeParam({ term, singleSearchParam, relatedSearchTerm: true });
|
||||
} else {
|
||||
removed = searchWithoutKey(term, singleSearchParam);
|
||||
}
|
||||
|
||||
@ -58,6 +58,32 @@ describe('Service: QuerySet', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('getSearchInputQueryset', () => {
|
||||
it('creates the expected queryset', () =>{
|
||||
spyOn(QuerySet, 'encodeParam').and.callThrough();
|
||||
|
||||
const term = 'name:foo';
|
||||
const isFilterableBaseField = () => true;
|
||||
const isRelatedField = () => false;
|
||||
|
||||
expect(QuerySet.getSearchInputQueryset(term, isFilterableBaseField, isRelatedField)).toEqual({ name__icontains_DEFAULT: 'foo' });
|
||||
expect(QuerySet.encodeParam).toHaveBeenCalledWith({ term: "name:foo", searchTerm: true, singleSearchParam: null });
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeTermsFromQueryset', () => {
|
||||
it('creates the expected queryset', () =>{
|
||||
spyOn(QuerySet, 'encodeParam').and.callThrough();
|
||||
|
||||
const queryset = { page_size: "20", order_by: "name", project__search_DEFAULT: "foo" };
|
||||
const term = 'project:foo';
|
||||
const isFilterableBaseField = () => false;
|
||||
const isRelatedField = () => true;
|
||||
|
||||
expect(QuerySet.removeTermsFromQueryset(queryset, term, isFilterableBaseField, isRelatedField)).toEqual({ page_size: "20", order_by: "name" });
|
||||
expect(QuerySet.encodeParam).toHaveBeenCalledWith({ term: 'project:foo', relatedSearchTerm: true, singleSearchParam: null });
|
||||
});
|
||||
});
|
||||
|
||||
describe('fn search', () => {
|
||||
let pattern = /\/api\/v2\/inventories\/(.+)\/groups\/*/,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user