Skip to content

Commit 34867dd

Browse files
committed
adjust the jest test
Signed-off-by: nabim777 <[email protected]>
1 parent 7a01cfa commit 34867dd

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

src/constants/messages.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ export const messages = {
2626
export const messagesFmt = {
2727
appNotEnabledOrUnsupported: (app, version) => t(APP_ID, 'This feature requires version {version} (or higher) of "{app}" app. Please install or update the app.', { app, version }),
2828
configureOIDCProviders: (settingsLink) => t(APP_ID, 'You can configure OIDC providers in the {settingsLink}', { settingsLink }, null, { escape: false, sanitize: false }),
29-
noMachingFound: (fieldName) => t(APP_ID, 'No matching {fieldName} found!', { fieldName }),
29+
noMachingFound: (fieldName) => t(APP_ID, 'No matching {fieldName} found', { fieldName }, null, { escape: false, sanitize: false }),
3030
}

src/views/CreateWorkPackageModal.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ export default {
304304
},
305305
getNoOptionTextForProject() {
306306
if (this.availableProjects.length === 0) {
307-
return messagesFmt.noMachingFound('project')
307+
return messagesFmt.noMachingFound('work projects')
308308
}
309309
// while projects are being searched we make the no text option empty
310310
return ''

tests/jest/views/CreateWorkpackageModal.spec.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import availableProjectAssignees from '../fixtures/availableProjectAssigneesResp
1818
import workpackageCreatedResponse from '../fixtures/workPackageSuccessfulCreationResponse.json'
1919
import requiredTypeResponse from '../fixtures/formValidationResponseRequiredType.json'
2020
import CreateWorkPackageModal from '../../../src/views/CreateWorkPackageModal.vue'
21+
import { messagesFmt, messages } from '../../../src/constants/messages.js'
2122

2223
const localVue = createLocalVue()
2324
jest.mock('@nextcloud/dialogs', () => ({
@@ -49,7 +50,7 @@ const createWorkPackageUrl = generateOcsUrl('/apps/integration_openproject/api/v
4950
describe('CreateWorkPackageModal.vue', () => {
5051
const createWorkPackageSelector = '.create-workpackage-modal'
5152
const projectSelectSelector = '[data-test-id="available-projects"]'
52-
const firstProjectSelectorSelector = '[data-test-id="available-projects"] [role="listbox"] > li'
53+
const firstProjectSelector = '[data-test-id="available-projects"] [role="listbox"] > li'
5354
const firstTypeSelector = '[data-test-id="available-types"] [role="listbox"] > li'
5455
const firstStatusSelector = '[data-test-id="available-statuses"] [role="listbox"] > li'
5556
const firstAssigneeSelector = '[data-test-id="available-assignees"] [role="listbox"] > li'
@@ -117,7 +118,7 @@ describe('CreateWorkPackageModal.vue', () => {
117118
)
118119
})
119120

120-
it('should show "No matching work projects found!" when the searched project is not found', async () => {
121+
it('should show "No matching work projects found" when the searched project is not found', async () => {
121122
const axiosSpyWithSearchQuery = jest.spyOn(axios, 'get')
122123
.mockImplementationOnce(() => sendOCSResponse({}))
123124
await inputField.setValue('Scw')
@@ -131,8 +132,8 @@ describe('CreateWorkPackageModal.vue', () => {
131132
},
132133
},
133134
)
134-
const searchResult = wrapper.find(firstProjectSelectorSelector)
135-
expect(searchResult.text()).toBe('No matching work projects found!')
135+
const searchResult = wrapper.find(firstProjectSelector)
136+
expect(searchResult.text()).toBe(messagesFmt.noMachingFound('work projects'))
136137
})
137138

138139
it.each([
@@ -151,15 +152,15 @@ describe('CreateWorkPackageModal.vue', () => {
151152
inputSelector: assigneeInputFieldSelector,
152153
resultSelector: firstAssigneeSelector,
153154
},
154-
])('should show "Please select a project first!" on initial state when the $fieldName is not found', async ({ inputSelector, resultSelector }) => {
155+
])('should show "Please select a project" on initial state when the $fieldName is not found', async ({ inputSelector, resultSelector }) => {
155156
const inputField = wrapper.find(inputSelector)
156157
await inputField.setValue(' ')
157158
await inputField.trigger('focus')
158159
const searchResult = wrapper.find(resultSelector)
159-
expect(searchResult.text()).toBe('Please select a project first!')
160+
expect(searchResult.text()).toBe(messages.pleaseSelectProject)
160161
})
161162

162-
it('should auto clear project if there is "No matching work projects found!"', async () => {
163+
it('should auto clear project if there is "No matching work projects found"', async () => {
163164
const axiosSpyWithSearchQuery = jest.spyOn(axios, 'get')
164165
.mockImplementationOnce(() => sendOCSResponse({}))
165166
await inputField.setValue('Scw')
@@ -174,8 +175,8 @@ describe('CreateWorkPackageModal.vue', () => {
174175
},
175176
},
176177
)
177-
const searchResult = wrapper.find(firstProjectSelectorSelector)
178-
expect(searchResult.text()).toBe('No matching work projects found!')
178+
const searchResult = wrapper.find(firstProjectSelector)
179+
expect(searchResult.text()).toBe(messagesFmt.noMachingFound('work projects'))
179180
expect(inputField.element.value).toBe('Scw')
180181

181182
// Trigger blur event (user moves to another field)
@@ -198,7 +199,7 @@ describe('CreateWorkPackageModal.vue', () => {
198199
},
199200
},
200201
)
201-
const searchResult = wrapper.find(firstProjectSelectorSelector)
202+
const searchResult = wrapper.find(firstProjectSelector)
202203
expect(searchResult.text()).toBe('searchedProject')
203204
})
204205

@@ -707,21 +708,21 @@ describe('CreateWorkPackageModal.vue', () => {
707708
fieldName: 'type',
708709
inputSelector: typeInputFieldSelector,
709710
resultSelector: firstTypeSelector,
710-
expectedMessage: 'No matching type found!',
711+
expectedMessage: 'No matching type found',
711712
},
712713
{
713714
fieldName: 'status',
714715
inputSelector: statusInputFieldSelector,
715716
resultSelector: firstStatusSelector,
716-
expectedMessage: 'No matching status found!',
717+
expectedMessage: 'No matching status found',
717718
},
718719
{
719720
fieldName: 'assignee',
720721
inputSelector: assigneeInputFieldSelector,
721722
resultSelector: firstAssigneeSelector,
722-
expectedMessage: 'No matching assignee found!',
723+
expectedMessage: 'No matching assignee found',
723724
},
724-
])('should show $expectedMessage when project is set and there is no $fieldName found in search query', async ({ inputSelector, resultSelector, expectedMessage }) => {
725+
])('should show $expectedMessage when project is set and there is no $fieldName found in search query', async ({ fieldName, inputSelector, resultSelector }) => {
725726

726727
wrapper = mountWrapper(true, {
727728
project: {
@@ -739,7 +740,7 @@ describe('CreateWorkPackageModal.vue', () => {
739740
await input.trigger('focus')
740741

741742
const searchResult = wrapper.find(resultSelector)
742-
expect(searchResult.text()).toBe(expectedMessage)
743+
expect(searchResult.text()).toBe(messagesFmt.noMachingFound(fieldName))
743744
})
744745
})
745746

0 commit comments

Comments
 (0)