Skip to content

Commit 346fd48

Browse files
committed
add utest for hooks
1 parent a52e47a commit 346fd48

File tree

3 files changed

+44
-4
lines changed

3 files changed

+44
-4
lines changed

tests/hooks/use_builder/use_builder_ctor.test.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { TestScheduler } from 'rxjs/testing'
2-
import { Controller, ControllerProvider, useBuilder } from '../../../src'
2+
import { Controller, ControllerProvider, ResourcesNotProvidedError, useBuilder } from '../../../src'
33
import { act, getByTestId, render, waitFor } from '@testing-library/react'
44
import { tap } from 'rxjs'
55

@@ -163,3 +163,13 @@ it('useBuilder cto return [state, controller]', () => {
163163
const expectedControllerText = 'TestController'
164164
expect(renderedControllerText).toBe(expectedControllerText)
165165
})
166+
167+
it('throw error when not provided ctor', async () => {
168+
jest.spyOn(console, 'error').mockImplementation(() => jest.fn())
169+
170+
const renderer = () => {
171+
render(<DisplayRendered />)
172+
}
173+
await waitFor(() => expect(renderer).toThrow(ResourcesNotProvidedError))
174+
jest.restoreAllMocks()
175+
})

tests/hooks/use_listener/use_listener_ctor.test.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TestScheduler } from 'rxjs/testing'
2-
import { Controller, ControllerProvider, useListener } from '../../../src'
3-
import { getByTestId, render } from '@testing-library/react'
2+
import { Controller, ControllerProvider, ResourcesNotProvidedError, useListener } from '../../../src'
3+
import { getByTestId, render, waitFor } from '@testing-library/react'
44
import { tap } from 'rxjs'
55

66
class TestController extends Controller<number> {
@@ -176,3 +176,13 @@ it('ctor useListener return controller', () => {
176176
const expectedText = 'Rendered: 5'
177177
expect(renderedText).toBe(expectedText)
178178
})
179+
180+
it('throw error when not provided ctor', async () => {
181+
jest.spyOn(console, 'error').mockImplementation(() => jest.fn())
182+
183+
const renderer = () => {
184+
render(<DisplayRenderedProvided />)
185+
}
186+
await waitFor(() => expect(renderer).toThrow(ResourcesNotProvidedError))
187+
jest.restoreAllMocks()
188+
})

tests/hooks/use_selector/use_selector_ctor.test.tsx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { TestScheduler } from 'rxjs/testing'
2-
import { Controller, ControllerProvider, useSelector } from '../../../src'
2+
import { Controller, ControllerProvider, ResourcesNotProvidedError, useSelector } from '../../../src'
33
import { act, getByTestId, render, waitFor } from '@testing-library/react'
44
import { tap } from 'rxjs'
55

@@ -135,3 +135,23 @@ it('useSelector cto return [state, controller]', () => {
135135
const expectedControllerText = 'TestController'
136136
expect(renderedControllerText).toBe(expectedControllerText)
137137
})
138+
139+
it('throw error when not provided ctor', async () => {
140+
jest.spyOn(console, 'error').mockImplementation(() => jest.fn())
141+
142+
const renderer = () => {
143+
render(<DisplayRendered />)
144+
}
145+
await waitFor(() => expect(renderer).toThrow(ResourcesNotProvidedError))
146+
jest.restoreAllMocks()
147+
})
148+
149+
it('throw error when not provided ctor', async () => {
150+
jest.spyOn(console, 'error').mockImplementation(() => jest.fn())
151+
152+
const renderer = () => {
153+
render(<DisplayRendered />)
154+
}
155+
await waitFor(() => expect(renderer).toThrow(ResourcesNotProvidedError))
156+
jest.restoreAllMocks()
157+
})

0 commit comments

Comments
 (0)