From 5fa6d10a666fbde7d74d18a460208fa7bc967231 Mon Sep 17 00:00:00 2001 From: DigneshGujarathi Date: Wed, 7 Apr 2021 13:57:30 +0530 Subject: [PATCH 1/2] Fixed contact query issue --- src/containers/Chat/Chat.tsx | 2 +- src/route/AuthenticatedRoute/AuthenticatedRoute.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/containers/Chat/Chat.tsx b/src/containers/Chat/Chat.tsx index 88fa159b0..ec600647d 100644 --- a/src/containers/Chat/Chat.tsx +++ b/src/containers/Chat/Chat.tsx @@ -163,7 +163,7 @@ export const Chat: React.SFC = ({ contactId, collectionId, savedSearc - +
} /> - } /> + } /> Date: Wed, 7 Apr 2021 20:05:27 +0530 Subject: [PATCH 2/2] added test cases --- .../Chat/ChatMessages/ChatMessages.test.tsx | 56 ++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/containers/Chat/ChatMessages/ChatMessages.test.tsx b/src/containers/Chat/ChatMessages/ChatMessages.test.tsx index efa8519a0..7333eab1f 100644 --- a/src/containers/Chat/ChatMessages/ChatMessages.test.tsx +++ b/src/containers/Chat/ChatMessages/ChatMessages.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { render, within } from '@testing-library/react'; +import { render, within, screen } from '@testing-library/react'; import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client'; import { ChatMessages } from './ChatMessages'; import { fireEvent, waitFor } from '@testing-library/dom'; @@ -17,6 +17,15 @@ class ResizeObserver { disconnect() {} } +const defineUrl = (url: string) => { + Object.defineProperty(window, 'location', { + value: { + href: url, + }, + writable: true, + }); +}; + window.ResizeObserver = ResizeObserver; const body = { @@ -362,6 +371,51 @@ test('Load more messages', async () => { }); }); +test('Should render for multi-search', async () => { + defineUrl('http://localhost:3000/chat/2?search=8'); + + const { getByTestId } = render(chatMessages); + + await waitFor(() => { + const container: any = document.querySelector('.messageContainer'); + fireEvent.scroll(container, { target: { scrollY: 0 } }); + fireEvent.click(getByTestId('loadMoreMessages')); + }); +}); + +test('If search query gives error', async () => { + const searchQuery = { + query: SEARCH_QUERY, + variables: { + filter: {}, + contactOpts: { limit: DEFAULT_CONTACT_LIMIT }, + messageOpts: { limit: DEFAULT_MESSAGE_LIMIT }, + }, + result: { + errors: [new Error('An error occurred')], + }, + data: null, + }; + + cache.writeQuery(searchQuery); + const client = new ApolloClient({ + cache: cache, + assumeImmutableResults: true, + }); + + const chatMessages = ( + + + + ); + + render(chatMessages); + + await waitFor(() => { + screen.getAllByText('Effie Cormier'); + }); +}); + test('send message to contact', async () => { const spy = jest.spyOn(ChatInput, 'ChatInput');