diff --git a/ui/src/dialogs/AddToPlaylistDialog.test.js b/ui/src/dialogs/AddToPlaylistDialog.test.js
index dbe2e1f56..7a1fe5156 100644
--- a/ui/src/dialogs/AddToPlaylistDialog.test.js
+++ b/ui/src/dialogs/AddToPlaylistDialog.test.js
@@ -4,28 +4,62 @@ import { DataProviderContext } from 'react-admin'
import { cleanup, fireEvent, render, waitFor } from '@testing-library/react'
import { AddToPlaylistDialog } from './AddToPlaylistDialog'
+const mockData = [
+ { id: 'sample-id1', name: 'sample playlist 1', ownerId: 'admin' },
+ { id: 'sample-id2', name: 'sample playlist 2', ownerId: 'admin' },
+]
+const mockIndexedData = {
+ 'sample-id1': {
+ id: 'sample-id1',
+ name: 'sample playlist 1',
+ ownerId: 'admin',
+ },
+ 'sample-id2': {
+ id: 'sample-id2',
+ name: 'sample playlist 2',
+ ownerId: 'admin',
+ },
+}
+const selectedIds = ['song-1', 'song-2']
+
+const createTestUtils = (mockDataProvider) =>
+ render(
+
+
+
+
+
+ )
+
describe('AddToPlaylistDialog', () => {
beforeAll(() => localStorage.setItem('userId', 'admin'))
afterEach(cleanup)
- const mockData = [
- { id: 'sample-id1', name: 'sample playlist 1', ownerId: 'admin' },
- { id: 'sample-id2', name: 'sample playlist 2', ownerId: 'admin' },
- ]
- const mockIndexedData = {
- 'sample-id1': {
- id: 'sample-id1',
- name: 'sample playlist 1',
- ownerId: 'admin',
- },
- 'sample-id2': {
- id: 'sample-id2',
- name: 'sample playlist 2',
- ownerId: 'admin',
- },
- }
- const selectedIds = ['song-1', 'song-2']
-
it('adds distinct songs to already existing playlists', async () => {
const mockDataProvider = {
getList: jest
@@ -37,38 +71,7 @@ describe('AddToPlaylistDialog', () => {
}),
}
- const testutils = render(
-
-
-
-
-
- )
+ const testUtils = createTestUtils(mockDataProvider)
fireEvent.change(document.activeElement, { target: { value: 'sample' } })
fireEvent.keyDown(document.activeElement, { key: 'ArrowDown' })
@@ -76,9 +79,9 @@ describe('AddToPlaylistDialog', () => {
fireEvent.keyDown(document.activeElement, { key: 'ArrowDown' })
fireEvent.keyDown(document.activeElement, { key: 'Enter' })
await waitFor(() => {
- expect(testutils.getByTestId('playlist-add')).not.toBeDisabled()
+ expect(testUtils.getByTestId('playlist-add')).not.toBeDisabled()
})
- fireEvent.click(testutils.getByTestId('playlist-add'))
+ fireEvent.click(testUtils.getByTestId('playlist-add'))
await waitFor(() => {
expect(mockDataProvider.create).toHaveBeenNthCalledWith(
1,
@@ -111,38 +114,8 @@ describe('AddToPlaylistDialog', () => {
data: { id: 'created-id1', name: 'created-name' },
}),
}
- const testutils = render(
-
-
-
-
-
- )
+
+ const testUtils = createTestUtils(mockDataProvider)
fireEvent.change(document.activeElement, { target: { value: 'sample' } })
fireEvent.keyDown(document.activeElement, { key: 'ArrowDown' })
@@ -150,9 +123,9 @@ describe('AddToPlaylistDialog', () => {
fireEvent.keyDown(document.activeElement, { key: 'ArrowDown' })
fireEvent.keyDown(document.activeElement, { key: 'Enter' })
await waitFor(() => {
- expect(testutils.getByTestId('playlist-add')).not.toBeDisabled()
+ expect(testUtils.getByTestId('playlist-add')).not.toBeDisabled()
})
- fireEvent.click(testutils.getByTestId('playlist-add'))
+ fireEvent.click(testUtils.getByTestId('playlist-add'))
await waitFor(() => {
expect(mockDataProvider.create).toHaveBeenNthCalledWith(1, 'playlist', {
data: { name: 'sample' },
@@ -178,38 +151,8 @@ describe('AddToPlaylistDialog', () => {
data: { id: 'created-id1', name: 'created-name' },
}),
}
- const testutils = render(
-
-
-
-
-
- )
+
+ const testUtils = createTestUtils(mockDataProvider)
fireEvent.change(document.activeElement, { target: { value: 'sample' } })
fireEvent.keyDown(document.activeElement, { key: 'ArrowDown' })
@@ -221,9 +164,9 @@ describe('AddToPlaylistDialog', () => {
})
fireEvent.keyDown(document.activeElement, { key: 'Enter' })
await waitFor(() => {
- expect(testutils.getByTestId('playlist-add')).not.toBeDisabled()
+ expect(testUtils.getByTestId('playlist-add')).not.toBeDisabled()
})
- fireEvent.click(testutils.getByTestId('playlist-add'))
+ fireEvent.click(testUtils.getByTestId('playlist-add'))
await waitFor(() => {
expect(mockDataProvider.create).toHaveBeenCalledTimes(4)
})