From f69bda351df2951f9c36d1d78a86a318b47211c6 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sun, 7 Aug 2022 13:26:26 +0200 Subject: [PATCH] Ensured tags, servers and domains search is case insensitive --- src/domains/reducers/domainsList.ts | 2 +- src/servers/ManageServers.tsx | 2 +- src/tags/reducers/tagsList.ts | 2 +- test/domains/reducers/domainsList.test.ts | 4 ++-- test/servers/ManageServers.test.tsx | 2 +- test/tags/reducers/tagsList.test.ts | 6 +++--- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/domains/reducers/domainsList.ts b/src/domains/reducers/domainsList.ts index 1868c689..b2349810 100644 --- a/src/domains/reducers/domainsList.ts +++ b/src/domains/reducers/domainsList.ts @@ -65,7 +65,7 @@ export default buildReducer({ ({ ...initialState, domains, filteredDomains: domains, defaultRedirects }), [FILTER_DOMAINS]: (state, { searchTerm }) => ({ ...state, - filteredDomains: state.domains.filter(({ domain }) => domain.toLowerCase().match(searchTerm)), + filteredDomains: state.domains.filter(({ domain }) => domain.toLowerCase().match(searchTerm.toLowerCase())), }), [EDIT_DOMAIN_REDIRECTS]: (state, { domain, redirects }) => ({ ...state, diff --git a/src/servers/ManageServers.tsx b/src/servers/ManageServers.tsx index 71c859a8..80f91d61 100644 --- a/src/servers/ManageServers.tsx +++ b/src/servers/ManageServers.tsx @@ -28,7 +28,7 @@ export const ManageServers = ( const allServers = Object.values(servers); const [serversList, setServersList] = useState(allServers); const filterServers = (searchTerm: string) => setServersList( - allServers.filter(({ name, url }) => `${name} ${url}`.match(searchTerm)), + allServers.filter(({ name, url }) => `${name} ${url}`.toLowerCase().match(searchTerm.toLowerCase())), ); const hasAutoConnect = serversList.some(({ autoConnect }) => !!autoConnect); const [errorImporting, setErrorImporting] = useTimeoutToggle(false, SHOW_IMPORT_MSG_TIME); diff --git a/src/tags/reducers/tagsList.ts b/src/tags/reducers/tagsList.ts index afc6e620..de84c709 100644 --- a/src/tags/reducers/tagsList.ts +++ b/src/tags/reducers/tagsList.ts @@ -96,7 +96,7 @@ export default buildReducer({ }), [FILTER_TAGS]: (state, { searchTerm }) => ({ ...state, - filteredTags: state.tags.filter((tag) => tag.toLowerCase().match(searchTerm)), + filteredTags: state.tags.filter((tag) => tag.toLowerCase().match(searchTerm.toLowerCase())), }), [CREATE_VISITS]: (state, { createdVisits }) => ({ ...state, diff --git a/test/domains/reducers/domainsList.test.ts b/test/domains/reducers/domainsList.test.ts index d40a58b8..b00704bd 100644 --- a/test/domains/reducers/domainsList.test.ts +++ b/test/domains/reducers/domainsList.test.ts @@ -28,7 +28,7 @@ describe('domainsListReducer', () => { const buildShlinkApiClient = () => Mock.of({ listDomains, health }); const filteredDomains = [ Mock.of({ domain: 'foo', status: 'validating' }), - Mock.of({ domain: 'boo', status: 'validating' }), + Mock.of({ domain: 'Boo', status: 'validating' }), ]; const domains = [...filteredDomains, Mock.of({ domain: 'bar', status: 'validating' })]; @@ -58,7 +58,7 @@ describe('domainsListReducer', () => { }); it('filters domains on FILTER_DOMAINS', () => { - expect(reducer(Mock.of({ domains }), action(FILTER_DOMAINS, { searchTerm: 'oo' }))).toEqual( + expect(reducer(Mock.of({ domains }), action(FILTER_DOMAINS, { searchTerm: 'oO' }))).toEqual( { domains, filteredDomains }, ); }); diff --git a/test/servers/ManageServers.test.tsx b/test/servers/ManageServers.test.tsx index ddc32b53..f34ad465 100644 --- a/test/servers/ManageServers.test.tsx +++ b/test/servers/ManageServers.test.tsx @@ -43,7 +43,7 @@ describe('', () => { await waitFor(() => expect(screen.getAllByText(/^ManageServersRow/)).toHaveLength(1)); expect(screen.queryByText('No servers found.')).not.toBeInTheDocument(); - await search('ba'); + await search('Ba'); await waitFor(() => expect(screen.getAllByText(/^ManageServersRow/)).toHaveLength(2)); expect(screen.queryByText('No servers found.')).not.toBeInTheDocument(); diff --git a/test/tags/reducers/tagsList.test.ts b/test/tags/reducers/tagsList.test.ts index a0251203..767cdc3d 100644 --- a/test/tags/reducers/tagsList.test.ts +++ b/test/tags/reducers/tagsList.test.ts @@ -67,9 +67,9 @@ describe('tagsListReducer', () => { }); it('filters original list of tags by provided search term on FILTER_TAGS', () => { - const tags = ['foo', 'bar', 'baz', 'foo2', 'fo']; - const searchTerm = 'fo'; - const filteredTags = ['foo', 'foo2', 'fo']; + const tags = ['foo', 'bar', 'baz', 'Foo2', 'fo']; + const searchTerm = 'Fo'; + const filteredTags = ['foo', 'Foo2', 'fo']; expect(reducer(state({ tags }), { type: FILTER_TAGS, searchTerm } as any)).toEqual({ tags,