Skip to content

Commit

Permalink
Fix failing tests for forms that had unexpected honeypot and timing d…
Browse files Browse the repository at this point in the history
…ata in them
  • Loading branch information
lortimer authored and HelenHagos committed Feb 3, 2024
1 parent e62d062 commit d2c75d0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 13 deletions.
11 changes: 7 additions & 4 deletions src/pages/accessibility-issues/AccessibilityIssues.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,20 @@ import { INVALID_PHONE_MESSAGE } from "../../hooks/form-validation/validatePhone
import { MISSING_REQUIRED_MESSAGE } from "../../hooks/form-validation/validateRequired";
import { Container } from "react-dom";
import { USER_EVENT_KEYS_FOR_TESTING_ONLY } from "../../../test/user-event-keys";
import { HoneypotFormData } from "../../components/form/Form";

describe(`${AccessibilityIssues.name} form`, () => {
const successMessage = "Your issue has been reported, thank you!";
let capturedFormData: AccessibilityFormData;
let capturedFormData: AccessibilityFormData & HoneypotFormData;
let user: UserEvent;
let form: HTMLFormElement;
let container: Container;

beforeEach(() => {
user = userEvent.setup();
capturedFormData = null as unknown as AccessibilityFormData;
capturedFormData = null as unknown as AccessibilityFormData & HoneypotFormData;

const resolver = buildPostResolver<AccessibilityFormData>({
const resolver = buildPostResolver<AccessibilityFormData & HoneypotFormData>({
captor: (requestBody) => capturedFormData = requestBody,
});

Expand Down Expand Up @@ -104,7 +105,9 @@ describe(`${AccessibilityIssues.name} form`, () => {

await user.keyboard(USER_EVENT_KEYS_FOR_TESTING_ONLY.enter);

expect(capturedFormData).toEqual(stubAccessibilityFormData({ name, email, phone, comments }));
const { honeypotValue, timeToFillForm, ...userInputtedFormData } = capturedFormData;

expect(userInputtedFormData).toEqual(stubAccessibilityFormData({ name, email, phone, comments }));

await waitFor(() => {
expect(screen.getByText(successMessage)).toBeInTheDocument();
Expand Down
13 changes: 8 additions & 5 deletions src/pages/contact-us/ContactUs.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,21 @@ import { MISSING_REQUIRED_MESSAGE } from "../../hooks/form-validation/validateRe
import { Container } from "react-dom";
import { CONTACT_PAGE_HEADING, CONTACT_PAGE_IDENTIFIER, ContactFormData, ContactUs } from "./ContactUs";
import { USER_EVENT_KEYS_FOR_TESTING_ONLY } from "../../../test/user-event-keys";
import { HoneypotFormData } from "../../components/form/Form";

describe(`${ContactUs.name} form`, () => {
const formLabelText = "General Contact";
const successMessage = "Your message has been sent, thank you!";
let capturedFormData: ContactFormData;
let capturedFormData: ContactFormData & HoneypotFormData;
let user: UserEvent;
let form: HTMLFormElement;
let container: Container;

beforeEach(() => {
user = userEvent.setup();
capturedFormData = null as unknown as ContactFormData;
capturedFormData = null as unknown as ContactFormData & HoneypotFormData;

const resolver = buildPostResolver<ContactFormData>({
const resolver = buildPostResolver<ContactFormData & HoneypotFormData>({
captor: (requestBody) => capturedFormData = requestBody,
});

Expand Down Expand Up @@ -79,7 +80,7 @@ describe(`${ContactUs.name} form`, () => {
expect(commentsInput).toHaveFocus();
const comments = "There was an input that didn't have a label";
await user.keyboard(comments);

await user.tab();
expect(nameInput).toHaveFocus();
const name = "Linda Cardellini";
Expand All @@ -100,7 +101,9 @@ describe(`${ContactUs.name} form`, () => {

await user.keyboard(USER_EVENT_KEYS_FOR_TESTING_ONLY.enter);

expect(capturedFormData).toEqual(stubAccessibilityFormData({ name, email, phone, comments }));
const { honeypotValue, timeToFillForm, ...userInputtedFormData } = capturedFormData;

expect(userInputtedFormData).toEqual(stubAccessibilityFormData({ name, email, phone, comments }));

await waitFor(() => {
expect(screen.getByText(successMessage)).toBeInTheDocument();
Expand Down
11 changes: 7 additions & 4 deletions src/pages/report-id-refusal/ReportIdRefused.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,21 @@ import {
ReportIdRefused
} from "./ReportIdRefused";
import { USER_EVENT_KEYS_FOR_TESTING_ONLY } from "../../../test/user-event-keys";
import { HoneypotFormData } from "../../components/form/Form";

describe(`${ReportIdRefused.name} form`, () => {
const formLabelText = "Report Refusal of ID";
const successMessage = "Your message has been sent, thank you!";
let capturedFormData: IdRefusedFormData;
let capturedFormData: IdRefusedFormData & HoneypotFormData;
let user: UserEvent;
let form: HTMLFormElement;
let container: Container;

beforeEach(() => {
user = userEvent.setup();
capturedFormData = null as unknown as IdRefusedFormData;
capturedFormData = null as unknown as IdRefusedFormData & HoneypotFormData;

const resolver = buildPostResolver<IdRefusedFormData>({
const resolver = buildPostResolver<IdRefusedFormData & HoneypotFormData>({
captor: (requestBody) => capturedFormData = requestBody,
});

Expand Down Expand Up @@ -152,7 +153,9 @@ describe(`${ReportIdRefused.name} form`, () => {

await user.keyboard(USER_EVENT_KEYS_FOR_TESTING_ONLY.enter);

expect(capturedFormData).toEqual(stubRefusedIdData({
const { honeypotValue, timeToFillForm, ...userInputtedFormData } = capturedFormData;

expect(userInputtedFormData).toEqual(stubRefusedIdData({
name,
email,
phone,
Expand Down

0 comments on commit d2c75d0

Please sign in to comment.