From 2b1bef54cea94d7f784bf875bbeaedfac057e73e Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Thu, 3 May 2018 00:41:24 -0400 Subject: [PATCH] add failing unit tests --- .../smart-search/queryset.service-test.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/awx/ui/test/spec/smart-search/queryset.service-test.js b/awx/ui/test/spec/smart-search/queryset.service-test.js index bd1f5ae833..eb8563c37d 100644 --- a/awx/ui/test/spec/smart-search/queryset.service-test.js +++ b/awx/ui/test/spec/smart-search/queryset.service-test.js @@ -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\/*/,