Skip to content

Commit

Permalink
Further updated to unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dimak1 committed Nov 29, 2023
1 parent 97089eb commit 234bfdb
Show file tree
Hide file tree
Showing 7 changed files with 124 additions and 213 deletions.
3 changes: 2 additions & 1 deletion ppr-ui/src/components/tables/mhr/SearchedResults.vue
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
@folioError="folioError = $event"
/>
<v-btn
id="review-confirm-btn"
color="primary"
filled
class="important-btn"
Expand Down Expand Up @@ -789,7 +790,7 @@ export default defineComponent({
onMounted(async () => {
const resp = getManufacturedHomeSearchResults.value
if (!resp) goToDash()
localState.searchValue = resp?.searchQuery.criteria.value || getOwnerName(resp?.searchQuery.criteria)
localState.searchValue = resp?.searchQuery?.criteria.value || getOwnerName(resp?.searchQuery?.criteria)
localState.searched = true
localState.searchType = getSearchedType.value?.searchTypeUI || ''
localState.results = localState.activeResults
Expand Down
2 changes: 1 addition & 1 deletion ppr-ui/src/utils/form-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ export function focusOnFirstError(formName: string): void {
setTimeout(() => {
const firstErrorField = document
.getElementById(formName)
.getElementsByClassName('error--text')
.getElementsByClassName('v-input--error')
.item(0)
.getElementsByTagName('input')
.item(0) as HTMLElement | null
Expand Down
38 changes: 5 additions & 33 deletions ppr-ui/tests/unit/RebuiltStatus.spec.ts
Original file line number Diff line number Diff line change
@@ -1,38 +1,12 @@
import Vue, { nextTick } from 'vue'
import Vuetify from 'vuetify'
import { createPinia, setActivePinia } from 'pinia'
import { useStore } from '../../src/store/store'

import { mount, createLocalVue, Wrapper } from '@vue/test-utils'
import { getTestId } from './utils'
import { nextTick } from 'vue'
import { RebuiltStatus } from '@/components/mhrRegistration'

Vue.use(Vuetify)
setActivePinia(createPinia())
const store = useStore()

/**
* Creates and mounts a component, so that it can be tested.
*
* @returns a Wrapper object with the given parameters.
*/
function createComponent (): Wrapper<any> {
const localVue = createLocalVue()

return mount((RebuiltStatus as any), {
localVue,
store
})
}
import { createComponent } from './utils'

describe('Rebuilt Status component', () => {
let wrapper: Wrapper<any>
let wrapper

beforeEach(async () => {
wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(RebuiltStatus)
})

it('renders the component', async () => {
Expand All @@ -41,9 +15,7 @@ describe('Rebuilt Status component', () => {

it('show error message for text area input', async () => {
wrapper.find('#rebuilt-status-text').exists()
wrapper.find('#rebuilt-status-text').setValue('x'.repeat(290))
await nextTick()
await nextTick()
await wrapper.find('#rebuilt-status-text').setValue('x'.repeat(290))

const messages = wrapper.findAll('.v-messages__message')
expect(messages.length).toBe(1)
Expand Down
101 changes: 34 additions & 67 deletions ppr-ui/tests/unit/SearchedResultsMHR.spec.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
// Libraries
import Vue, { nextTick } from 'vue'
import Vuetify from 'vuetify'
import { createPinia, setActivePinia } from 'pinia'
import { useStore } from '../../src/store/store'
import { mount, createLocalVue, Wrapper } from '@vue/test-utils'
import { uniqBy } from 'lodash'
// Components
import { SearchedResultMhr } from '@/components/tables'
Expand All @@ -19,14 +15,11 @@ import {
} from '@/resources'
import { ManufacturedHomeSearchResponseIF, ManufacturedHomeSearchResultIF } from '@/interfaces'
import { APIMHRSearchTypes, UIMHRSearchTypes, UIMHRSearchTypeValues } from '@/enums'
import { mockedMHRSearchResponse, mockedMHRSearchResultsSorted, mockedMHRSearchSelections } from './test-data'
import { mockedMHRSearchResponse, mockedMHRSearchSelections } from './test-data'
import { createComponent } from './utils'

// Vue.use(CompositionApi)
Vue.use(Vuetify)

const vuetify = new Vuetify({})
setActivePinia(createPinia())
const store = useStore()

const noResults: ManufacturedHomeSearchResponseIF = {
searchId: '1294373',
searchDateTime: '2020-02-21T18:56:20Z',
Expand All @@ -49,17 +42,17 @@ const noResultsDiv = '#search-no-results-info'
*
* @returns a Wrapper<SearchedResultMhr> object with the given parameters.
*/
function createComponent (propsData: any = null): Wrapper<any> {
const localVue = createLocalVue()
localVue.use(Vuetify)
document.body.setAttribute('data-app', 'true')
return mount((SearchedResultMhr as any), {
localVue,
store,
vuetify,
propsData: { ...propsData }
})
}
// function createComponent (propsData: any = null) {
// const localVue = createLocalVue()
// localVue.use(Vuetify)
// document.body.setAttribute('data-app', 'true')
// return mount((SearchedResultMhr as any), {
// localVue,
// store,
// vuetify,
// propsData: { ...propsData }
// })
// }

function getUniqueSelectedPPRLienSearches (
searchResults: ManufacturedHomeSearchResultIF[]
Expand All @@ -70,17 +63,14 @@ function getUniqueSelectedPPRLienSearches (
}

describe('Test result table with no results', () => {
let wrapper: Wrapper<any>
let wrapper

beforeEach(async () => {
await store.setManufacturedHomeSearchResults(noResults)
wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr)
})

it('doesnt display table if there are no results', async () => {
it('does not display table if there are no results', async () => {
expect(wrapper.findComponent(SearchedResultMhr).exists()).toBe(true)
expect(wrapper.vm.searched).toBeTruthy()
expect(wrapper.vm.searchValue).toEqual(noResults.searchQuery.criteria.value)
Expand All @@ -94,16 +84,13 @@ describe('Test result table with no results', () => {
})

describe('Serial number results', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRSERIAL_NUMBER]

beforeEach(async () => {
await store.setManufacturedHomeSearchResults(testResults)
await store.setSearchedType(MHRSearchTypes[4])
wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr)
})

it('renders Results Component with serial number results data', async () => {
Expand Down Expand Up @@ -144,7 +131,7 @@ describe('Serial number results', () => {
})

describe('Serial number results in Review Mode', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRSERIAL_NUMBER]
const selectedResults = mockedMHRSearchSelections[UIMHRSearchTypes.MHRSERIAL_NUMBER]

Expand All @@ -153,10 +140,8 @@ describe('Serial number results in Review Mode', () => {
await store.setSelectedManufacturedHomes(selectedResults)
await store.setSearchedType(MHRSearchTypes[4])

wrapper = createComponent({ isReviewMode: true })
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr, { isReviewMode: true })

})

it('renders Results Component with Serial number data', () => {
Expand Down Expand Up @@ -184,18 +169,15 @@ describe('Serial number results in Review Mode', () => {
})

describe('Owner name debtor results', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHROWNER_NAME]

beforeEach(async () => {
await store.setManufacturedHomeSearchResults(testResults)
await store.setSelectedManufacturedHomes([])
await store.setSearchedType(MHRSearchTypes[2])

wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr)
})

it('renders Results Component with individual debtor name results data', () => {
Expand Down Expand Up @@ -234,7 +216,7 @@ describe('Owner name debtor results', () => {
})

describe('Owner name name in Review Mode', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHROWNER_NAME]
const selectedResults = mockedMHRSearchSelections[UIMHRSearchTypes.MHROWNER_NAME]

Expand All @@ -243,10 +225,7 @@ describe('Owner name name in Review Mode', () => {
await store.setSelectedManufacturedHomes(selectedResults)
await store.setSearchedType(MHRSearchTypes[2])

wrapper = createComponent({ isReviewMode: true })
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr, { isReviewMode: true })
})

it('renders Results Component with Owner name data', () => {
Expand Down Expand Up @@ -274,18 +253,15 @@ describe('Owner name name in Review Mode', () => {
})

describe('Business organization results', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRORGANIZATION_NAME]

beforeEach(async () => {
await store.setManufacturedHomeSearchResults(testResults)
await store.setSelectedManufacturedHomes([])
await store.setSearchedType(MHRSearchTypes[3])

wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr)
})

it('renders Results Component with business debtor name results data', () => {
Expand Down Expand Up @@ -320,7 +296,7 @@ describe('Business organization results', () => {
})

describe('Business organization results in Review Mode', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRORGANIZATION_NAME]
const selectedResults = mockedMHRSearchSelections[UIMHRSearchTypes.MHRORGANIZATION_NAME]

Expand All @@ -329,10 +305,7 @@ describe('Business organization results in Review Mode', () => {
await store.setSelectedManufacturedHomes(selectedResults)
await store.setSearchedType(MHRSearchTypes[3])

wrapper = createComponent({ isReviewMode: true })
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr, { isReviewMode: true })
})

it('renders Results Component with business debtor name data', () => {
Expand Down Expand Up @@ -360,17 +333,14 @@ describe('Business organization results in Review Mode', () => {
})

describe('Manufactured home results', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRMHR_NUMBER]
beforeEach(async () => {
await store.setManufacturedHomeSearchResults(testResults)
await store.setSelectedManufacturedHomes([])
await store.setSearchedType(MHRSearchTypes[1])

wrapper = createComponent()
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr)
})

it('renders Results Component with manufactured home results data', () => {
Expand Down Expand Up @@ -408,7 +378,7 @@ describe('Manufactured home results', () => {
})

describe('Manufactured home results in Review Mode', () => {
let wrapper: Wrapper<any>
let wrapper
const testResults = mockedMHRSearchResponse[UIMHRSearchTypes.MHRMHR_NUMBER]
const selectedResults = mockedMHRSearchSelections[UIMHRSearchTypes.MHRMHR_NUMBER]

Expand All @@ -417,10 +387,7 @@ describe('Manufactured home results in Review Mode', () => {
await store.setSelectedManufacturedHomes(selectedResults)
await store.setSearchedType(MHRSearchTypes[1])

wrapper = createComponent({ isReviewMode: true })
})
afterEach(() => {
wrapper.destroy()
wrapper = await createComponent(SearchedResultMhr, { isReviewMode: true })
})

it('renders Results Component with manufactured home results data', () => {
Expand Down
Loading

0 comments on commit 234bfdb

Please sign in to comment.