Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions src/server/plugins/engine/beta/form-context.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ describe('getFormModel helper', () => {
definition,
{
basePath: slug,
versionNumber: 17,
ordnanceSurveyApiKey: undefined,
formId: metadata.id
},
Expand Down Expand Up @@ -288,7 +287,6 @@ describe('resolveFormModel helper', () => {
definition,
expect.objectContaining({
basePath: 'forms/preview/live/tb-origin',
versionNumber: 9,
ordnanceSurveyApiKey: 'os-api-key',
formId: metadata.id
}),
Expand Down
9 changes: 1 addition & 8 deletions src/server/plugins/engine/beta/form-context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { isEqual } from 'date-fns'
import { PREVIEW_PATH_PREFIX } from '~/src/server/constants.js'
import {
checkEmailAddressForLiveFormSubmission,
getCacheService,
getFormVersion
getCacheService
} from '~/src/server/plugins/engine/helpers.js'
import { FormModel } from '~/src/server/plugins/engine/models/index.js'
import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js'
Expand Down Expand Up @@ -65,15 +64,12 @@ export async function getFormModel(
)
}

const versionNumber = getFormVersion(definition)?.versionNumber

return new FormModel(
definition,
{
basePath:
options.basePath ??
buildBasePath(options.routePrefix ?? '', slug, formState, isPreview),
versionNumber,
ordnanceSurveyApiKey: options.ordnanceSurveyApiKey,
formId: options.formId ?? metadata.id
},
Expand Down Expand Up @@ -182,15 +178,12 @@ export async function resolveFormModel(
const routePrefix =
options.routePrefix ?? server.realm.modifiers.route.prefix

const versionNumber = getFormVersion(definition)?.versionNumber

const model = new FormModel(
definition,
{
basePath:
options.basePath ??
buildBasePath(routePrefix, slug, formState, isPreview),
versionNumber,
ordnanceSurveyApiKey: options.ordnanceSurveyApiKey,
formId: options.formId ?? metadata.id
},
Expand Down
64 changes: 0 additions & 64 deletions src/server/plugins/engine/models/FormModel.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,21 +141,6 @@ describe('FormModel', () => {
expect(model.schemaVersion).toBe(SchemaVersion.V1)
})

it('sets versionNumber from options', () => {
const model = new FormModel(definition, {
basePath: 'test',
versionNumber: 42
})

expect(model.versionNumber).toBe(42)
})

it('sets versionNumber to undefined when not provided', () => {
const model = new FormModel(definition, { basePath: 'test' })

expect(model.versionNumber).toBeUndefined()
})

it.each([
{
input: undefined,
Expand Down Expand Up @@ -344,55 +329,6 @@ describe('FormModel', () => {
)
})

it('includes submittedVersionNumber in context when versionNumber is set', () => {
const formModel = new FormModel(fieldsRequiredDefinition, {
basePath: '/components',
versionNumber: 123
})

const state = {
$$__referenceNumber: 'foobar'
}
const pageUrl = new URL('http://example.com/components/fields-required')

const request: FormContextRequest = buildFormContextRequest({
method: 'get',
query: {},
path: pageUrl.pathname,
params: { path: 'components', slug: 'fields-required' },
url: pageUrl,
app: { model: formModel }
})

const context = formModel.getFormContext(request, state)

expect(context.submittedVersionNumber).toBe(123)
})

it('sets submittedVersionNumber to undefined when versionNumber is not set', () => {
const formModel = new FormModel(fieldsRequiredDefinition, {
basePath: '/components'
})

const state = {
$$__referenceNumber: 'foobar'
}
const pageUrl = new URL('http://example.com/components/fields-required')

const request: FormContextRequest = buildFormContextRequest({
method: 'get',
query: {},
path: pageUrl.pathname,
params: { path: 'components', slug: 'fields-required' },
url: pageUrl,
app: { model: formModel }
})

const context = formModel.getFormContext(request, state)

expect(context.submittedVersionNumber).toBeUndefined()
})

it('redirects to the page if the list field (radio) is invalidated due to list item conditions', () => {
const formModel = new FormModel(conditionsListDefinition, {
basePath: '/conditional-list-items'
Expand Down
6 changes: 1 addition & 5 deletions src/server/plugins/engine/models/FormModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ export class FormModel {
formId: string
values: FormDefinition
basePath: string
versionNumber?: number
ordnanceSurveyApiKey?: string
conditions: Partial<Record<string, ExecutableCondition>>
pages: PageControllerClass[]
Expand All @@ -100,7 +99,6 @@ export class FormModel {
def: typeof this.def,
options: {
basePath: string
versionNumber?: number
ordnanceSurveyApiKey?: string
formId?: string
},
Expand Down Expand Up @@ -158,7 +156,6 @@ export class FormModel {
this.formId = options.formId ?? ''
this.values = result.value
this.basePath = options.basePath
this.versionNumber = options.versionNumber
this.ordnanceSurveyApiKey = options.ordnanceSurveyApiKey
this.conditions = {}
this.services = services
Expand Down Expand Up @@ -362,8 +359,7 @@ export class FormModel {
componentDefMap: this.componentDefMap,
pageMap: this.pageMap,
componentMap: this.componentMap,
referenceNumber: getReferenceNumber(state),
submittedVersionNumber: this.versionNumber
referenceNumber: getReferenceNumber(state)
}

// Validate current page
Expand Down
Loading
Loading