"adds a new event" E2E test

This commit is contained in:
Kalle 2022-07-31 15:35:06 +03:00
parent 6281c4cb5f
commit b33361c673
3 changed files with 30 additions and 2 deletions

View File

@ -7,6 +7,7 @@ export function Input({
maxLength,
defaultValue,
leftAddon,
"data-cy": dataCy,
}: {
name: string;
className?: string;
@ -14,6 +15,7 @@ export function Input({
maxLength?: number;
defaultValue?: string;
leftAddon?: string;
"data-cy"?: string;
}) {
return (
<div className={clsx("input-container", className)}>
@ -23,6 +25,7 @@ export function Input({
minLength={minLength}
maxLength={maxLength}
defaultValue={defaultValue}
data-cy={dataCy}
/>
</div>
);

View File

@ -213,7 +213,7 @@ export default function CalendarNewEventPage() {
<DiscordLinkInput />
<TagsAdder />
<BadgesAdder />
<Button type="submit" className="mt-4">
<Button type="submit" className="mt-4" data-cy="submit-button">
Submit
</Button>
</Form>
@ -235,6 +235,7 @@ function NameInput() {
minLength={CALENDAR_EVENT_NAME_MIN_LENGTH}
maxLength={CALENDAR_EVENT_NAME_MAX_LENGTH}
defaultValue={eventToEdit?.name}
data-cy="name-input"
/>
</div>
);
@ -261,6 +262,7 @@ function DescriptionTextarea() {
value={value}
onChange={(e) => setValue(e.target.value)}
maxLength={CALENDAR_EVENT_DESCRIPTION_MAX_LENGTH}
data-cy="description-textarea"
/>
</div>
);
@ -381,6 +383,7 @@ function BracketUrlInput() {
required
maxLength={CALENDAR_EVENT_BRACKET_URL_MAX_LENGTH}
defaultValue={eventToEdit?.bracketUrl}
data-cy="bracket-url-input"
/>
</div>
);
@ -397,6 +400,7 @@ function DiscordLinkInput() {
leftAddon="https://discord.gg/"
maxLength={CALENDAR_EVENT_DISCORD_INVITE_CODE_MAX_LENGTH}
defaultValue={eventToEdit?.discordInviteCode ?? undefined}
data-cy="discord-invite-code-input"
/>
</div>
);

View File

@ -8,7 +8,7 @@ describe("New calendar event page", () => {
cy.seed();
});
it("operates custom form controls", function () {
it("operates custom form controls", () => {
cy.auth(2);
cy.visit(calendarEditPage());
@ -45,4 +45,25 @@ describe("New calendar event page", () => {
cy.getCy("badge-delete-button").first().click();
cy.getCy("badge-delete-button").its("length").should("eq", 1);
});
it("adds a new event", () => {
cy.auth(2);
cy.visit(calendarEditPage());
cy.getCy("name-input").type("In The Test");
cy.getCy("description-textarea").type(
"My greatest event of all time...You are not ready for this."
);
cy.getCy("date-input").type(
dateToYearMonthDayHourMinuteString(new Date(Date.UTC(2022, 5, 20)))
);
cy.getCy("add-date-button").click();
cy.getCy("bracket-url-input").type("https://bracket.com");
cy.getCy("discord-invite-code-input").type("asdFGKHL");
cy.getCy("tags-select").select("MONEY");
cy.getCy("badges-select").select(1);
cy.getCy("submit-button").click();
cy.url().should("include", "101"); // we should have been redirected to the new event's page
});
});