Skip to content

Commit

Permalink
test: useCheckPublishCompleted.spec.ts with renderHook()
Browse files Browse the repository at this point in the history
  • Loading branch information
ekraffmiller committed Jul 2, 2024
1 parent 935bf8e commit 68ed323
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 108 deletions.
53 changes: 53 additions & 0 deletions tests/component/sections/dataset/useCheckPublishCompleted.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/// <reference types="cypress" />

import { DatasetRepository } from '../../../../src/dataset/domain/repositories/DatasetRepository'
import { renderHook } from '@testing-library/react'
import useCheckPublishCompleted from '../../../../src/sections/dataset/useCheckPublishCompleted'
import { DatasetMother } from '../../dataset/domain/models/DatasetMother'
import { DatasetMockRepository } from '../../../../src/stories/dataset/DatasetMockRepository'

describe('useCheckPublishCompleted Hook', () => {
beforeEach(() => {
const datasetRepository: DatasetRepository = {} as DatasetRepository
datasetRepository.getLocks = cy.stub().resolves([])
})
it('should not set publishCompleted if publishInProgress is false', () => {
const datasetRepository: DatasetRepository = {} as DatasetRepository
const { result } = renderHook(() =>
useCheckPublishCompleted(false, DatasetMother.create(), datasetRepository)
)
cy.wait(3000).then(() => {
cy.wrap(result.current).should('equal', false)
})
})
it('should set publishCompleted to true when no locks are found initially', () => {
const datasetRepository: DatasetRepository = {} as DatasetRepository
datasetRepository.getLocks = cy.stub().resolves([])

const { result } = renderHook(() =>
useCheckPublishCompleted(true, DatasetMother.create(), datasetRepository)
)
cy.wait(3000).then(() => {
cy.wrap(result.current).should('equal', true)
})
})

it('should set publishCompleted to true after polling finds no locks', () => {
const datasetRepository: DatasetMockRepository = new DatasetMockRepository()

cy.stub(datasetRepository, 'getLocks')
.resolves([{}])
.onFirstCall()
.resolves([])
.callsFake(() => Promise.resolve([]))

const { result } = renderHook(() =>
useCheckPublishCompleted(true, DatasetMother.create(), datasetRepository)
)

cy.wrap(result.current).should('equal', false)
cy.wait(3000).then(() => {
cy.wrap(result.current).should('equal', true)
})
})
})
108 changes: 0 additions & 108 deletions tests/component/sections/dataset/usePollDatasetLocks.spec.tsx

This file was deleted.

0 comments on commit 68ed323

Please sign in to comment.