diff options
Diffstat (limited to '__tests__/view/com/composer')
-rw-r--r-- | __tests__/view/com/composer/Autocomplete.test.tsx | 43 | ||||
-rw-r--r-- | __tests__/view/com/composer/ComposePost.test.tsx | 118 | ||||
-rw-r--r-- | __tests__/view/com/composer/SelectedPhoto.test.tsx | 70 |
3 files changed, 0 insertions, 231 deletions
diff --git a/__tests__/view/com/composer/Autocomplete.test.tsx b/__tests__/view/com/composer/Autocomplete.test.tsx deleted file mode 100644 index 57539b75e..000000000 --- a/__tests__/view/com/composer/Autocomplete.test.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import React from 'react' -import {Autocomplete} from '../../../../src/view/com/composer/Autocomplete' -import {cleanup, fireEvent, render} from '../../../../jest/test-utils' - -describe('Autocomplete', () => { - const onSelectMock = jest.fn() - const mockedProps = { - active: true, - items: [ - { - handle: 'handle.test', - displayName: 'Test Display', - }, - { - handle: 'handle2.test', - displayName: 'Test Display 2', - }, - ], - onSelect: onSelectMock, - } - - afterAll(() => { - jest.clearAllMocks() - cleanup() - }) - - it('renders a button for each user', async () => { - const {findAllByTestId} = render(<Autocomplete {...mockedProps} />) - const autocompleteButton = await findAllByTestId('autocompleteButton') - expect(autocompleteButton.length).toBe(2) - }) - - it('triggers onSelect by pressing the button', async () => { - const {findAllByTestId} = render(<Autocomplete {...mockedProps} />) - const autocompleteButton = await findAllByTestId('autocompleteButton') - - fireEvent.press(autocompleteButton[0]) - expect(onSelectMock).toHaveBeenCalledWith('handle.test') - - fireEvent.press(autocompleteButton[1]) - expect(onSelectMock).toHaveBeenCalledWith('handle2.test') - }) -}) diff --git a/__tests__/view/com/composer/ComposePost.test.tsx b/__tests__/view/com/composer/ComposePost.test.tsx deleted file mode 100644 index 5c5a61812..000000000 --- a/__tests__/view/com/composer/ComposePost.test.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import React from 'react' -import {ComposePost} from '../../../../src/view/com/composer/ComposePost' -import {cleanup, fireEvent, render, waitFor} from '../../../../jest/test-utils' -import * as apilib from '../../../../src/state/lib/api' -import { - mockedAutocompleteViewStore, - mockedRootStore, -} from '../../../../__mocks__/state-mock' -import Toast from 'react-native-root-toast' - -describe('ComposePost', () => { - const mockedProps = { - replyTo: { - uri: 'testUri', - cid: 'testCid', - text: 'testText', - author: { - handle: 'test.handle', - displayName: 'test name', - avatar: '', - }, - }, - onPost: jest.fn(), - onClose: jest.fn(), - } - - afterAll(() => { - jest.clearAllMocks() - cleanup() - }) - - it('renders post composer', async () => { - const {findByTestId} = render(<ComposePost {...mockedProps} />) - const composePostView = await findByTestId('composePostView') - expect(composePostView).toBeTruthy() - }) - - it('closes composer', async () => { - const {findByTestId} = render(<ComposePost {...mockedProps} />) - const composerCancelButton = await findByTestId('composerCancelButton') - fireEvent.press(composerCancelButton) - expect(mockedProps.onClose).toHaveBeenCalled() - }) - - it('changes text and publishes post', async () => { - const postSpy = jest.spyOn(apilib, 'post').mockResolvedValue({ - uri: '', - cid: '', - }) - const toastSpy = jest.spyOn(Toast, 'show') - - const wrapper = render(<ComposePost {...mockedProps} />) - - const composerTextInput = await wrapper.findByTestId('composerTextInput') - fireEvent.changeText(composerTextInput, 'testing publish') - - const composerPublishButton = await wrapper.findByTestId( - 'composerPublishButton', - ) - fireEvent.press(composerPublishButton) - - expect(postSpy).toHaveBeenCalledWith( - mockedRootStore, - 'testing publish', - 'testUri', - undefined, - [], - new Set<string>(), - expect.anything(), - ) - - // Waits for request to be resolved - await waitFor(() => { - expect(mockedProps.onPost).toHaveBeenCalled() - expect(mockedProps.onClose).toHaveBeenCalled() - expect(toastSpy).toHaveBeenCalledWith('Your reply has been published', { - animation: true, - duration: 3500, - hideOnPress: true, - position: 50, - shadow: true, - }) - }) - }) - - it('selects autocomplete item', async () => { - jest - .spyOn(React, 'useMemo') - .mockReturnValueOnce(mockedAutocompleteViewStore) - - const {findAllByTestId} = render(<ComposePost {...mockedProps} />) - const autocompleteButton = await findAllByTestId('autocompleteButton') - - fireEvent.press(autocompleteButton[0]) - expect(mockedAutocompleteViewStore.setActive).toHaveBeenCalledWith(false) - }) - - it('selects photos', async () => { - const {findByTestId, queryByTestId} = render( - <ComposePost {...mockedProps} />, - ) - let photoCarouselPickerView = queryByTestId('photoCarouselPickerView') - expect(photoCarouselPickerView).toBeFalsy() - - const composerSelectPhotosButton = await findByTestId( - 'composerSelectPhotosButton', - ) - fireEvent.press(composerSelectPhotosButton) - - photoCarouselPickerView = await findByTestId('photoCarouselPickerView') - expect(photoCarouselPickerView).toBeTruthy() - - fireEvent.press(composerSelectPhotosButton) - - photoCarouselPickerView = queryByTestId('photoCarouselPickerView') - expect(photoCarouselPickerView).toBeFalsy() - }) -}) diff --git a/__tests__/view/com/composer/SelectedPhoto.test.tsx b/__tests__/view/com/composer/SelectedPhoto.test.tsx deleted file mode 100644 index 26059ae30..000000000 --- a/__tests__/view/com/composer/SelectedPhoto.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import React from 'react' -import {SelectedPhoto} from '../../../../src/view/com/composer/SelectedPhoto' -import {cleanup, fireEvent, render} from '../../../../jest/test-utils' - -describe('SelectedPhoto', () => { - const mockedProps = { - selectedPhotos: ['mock-uri', 'mock-uri-2'], - onSelectPhotos: jest.fn(), - } - - afterAll(() => { - jest.clearAllMocks() - cleanup() - }) - - it('has no photos to render', () => { - const {queryByTestId} = render( - <SelectedPhoto selectedPhotos={[]} onSelectPhotos={jest.fn()} />, - ) - const selectedPhotosView = queryByTestId('selectedPhotosView') - expect(selectedPhotosView).toBeNull() - - const selectedPhotoImage = queryByTestId('selectedPhotoImage') - expect(selectedPhotoImage).toBeNull() - }) - - it('has 1 photos to render', async () => { - const {findByTestId} = render( - <SelectedPhoto - selectedPhotos={['mock-uri']} - onSelectPhotos={jest.fn()} - />, - ) - const selectedPhotosView = await findByTestId('selectedPhotosView') - expect(selectedPhotosView).toBeTruthy() - - const selectedPhotoImage = await findByTestId('selectedPhotoImage') - expect(selectedPhotoImage).toBeTruthy() - // @ts-expect-error - expect(selectedPhotoImage).toHaveStyle({width: 250}) - }) - - it('has 2 photos to render', async () => { - const {findAllByTestId} = render(<SelectedPhoto {...mockedProps} />) - const selectedPhotoImage = await findAllByTestId('selectedPhotoImage') - expect(selectedPhotoImage[0]).toBeTruthy() - // @ts-expect-error - expect(selectedPhotoImage[0]).toHaveStyle({width: 175}) - }) - - it('has 3 photos to render', async () => { - const {findAllByTestId} = render( - <SelectedPhoto - selectedPhotos={['mock-uri', 'mock-uri-2', 'mock-uri-3']} - onSelectPhotos={jest.fn()} - />, - ) - const selectedPhotoImage = await findAllByTestId('selectedPhotoImage') - expect(selectedPhotoImage[0]).toBeTruthy() - // @ts-expect-error - expect(selectedPhotoImage[0]).toHaveStyle({width: 85}) - }) - - it('removes a photo', async () => { - const {findAllByTestId} = render(<SelectedPhoto {...mockedProps} />) - const removePhotoButton = await findAllByTestId('removePhotoButton') - fireEvent.press(removePhotoButton[0]) - expect(mockedProps.onSelectPhotos).toHaveBeenCalledWith(['mock-uri-2']) - }) -}) |