@@ -18,6 +18,7 @@ import availableProjectAssignees from '../fixtures/availableProjectAssigneesResp
1818import workpackageCreatedResponse from '../fixtures/workPackageSuccessfulCreationResponse.json'
1919import requiredTypeResponse from '../fixtures/formValidationResponseRequiredType.json'
2020import CreateWorkPackageModal from '../../../src/views/CreateWorkPackageModal.vue'
21+ import { messagesFmt , messages } from '../../../src/constants/messages.js'
2122
2223const localVue = createLocalVue ( )
2324jest . mock ( '@nextcloud/dialogs' , ( ) => ( {
@@ -49,7 +50,7 @@ const createWorkPackageUrl = generateOcsUrl('/apps/integration_openproject/api/v
4950describe ( '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