Skip to content

Commit f53e773

Browse files
committed
Resolve form mocking issue when running tests
1 parent 94ab1fc commit f53e773

3 files changed

Lines changed: 25 additions & 4 deletions

File tree

src/server/index.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
getFormDefinition,
77
getFormMetadata
88
} from '~/src/server/plugins/engine/services/formsService.js'
9+
import * as defaultServices from '~/src/server/plugins/engine/services/index.js'
910
import { getUploadStatus } from '~/src/server/plugins/engine/services/uploadService.js'
1011
import {
1112
FileStatus,
@@ -30,7 +31,9 @@ describe('Model cache', () => {
3031
}
3132

3233
beforeAll(async () => {
33-
server = await createServer()
34+
server = await createServer({
35+
services: defaultServices
36+
})
3437
await server.initialize()
3538
})
3639

src/server/plugins/engine/configureEnginePlugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ export const configureEnginePlugin = async ({
3333
plugin,
3434
options: {
3535
model,
36-
services: {
36+
services: services ?? {
37+
// services for testing, else use the disk loader option for running this service locally
3738
...defaultServices,
3839
formsService: await formsService()
3940
},

src/server/plugins/engine/services/formsService.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,27 @@ const error = Error(
22
'Not implemented. Consider setting up a form loader or providing a service implementation.'
33
)
44

5-
export function getFormMetadata() {
5+
// eslint-disable-next-line jsdoc/require-returns-check
6+
/**
7+
* Dummy function to get form metadata.
8+
* @param {string} _slug - the slug of the form
9+
* @returns {Promise<FormMetadata | undefined>}
10+
*/
11+
export function getFormMetadata(_slug) {
612
throw error
713
}
814

9-
export function getFormDefinition() {
15+
// eslint-disable-next-line jsdoc/require-returns-check
16+
/**
17+
* Dummy function to get form metadata.
18+
* @param {string} _id - the id of the form
19+
* @param {FormStatus} _state - the state of the form
20+
* @returns {Promise<FormDefinition | undefined>}
21+
*/
22+
export function getFormDefinition(_id, _state) {
1023
throw error
1124
}
25+
26+
/**
27+
* @import { FormStatus, FormDefinition, FormMetadata } from '@defra/forms-model'
28+
*/

0 commit comments

Comments
 (0)