137 lines
4.8 KiB
TypeScript
137 lines
4.8 KiB
TypeScript
import { deleteChannelWithChannelIdHandler } from "../../../../../fixtures/channels/[channelId]/delete"
|
|
import { putChannelWithChannelIdHandler } from "../../../../../fixtures/channels/[channelId]/put"
|
|
import {
|
|
channelExample,
|
|
channelExample2,
|
|
} from "../../../../../fixtures/channels/channel"
|
|
import { guildExample } from "../../../../../fixtures/guilds/guild"
|
|
import {
|
|
getGuildMemberNotOwnerWithGuildIdHandler,
|
|
getGuildMemberWithGuildIdHandler,
|
|
} from "../../../../../fixtures/guilds/[guildId]/get"
|
|
import {
|
|
getChannelWithChannelIdHandler,
|
|
getChannelWithChannelIdHandler2,
|
|
} from "../../../../../fixtures/channels/[channelId]/get"
|
|
import { authenticationHandlers } from "../../../../../fixtures/handler"
|
|
import { API_URL } from "../../../../../../tools/api"
|
|
|
|
describe("Pages > /application/[guildId]/[channelId]/settings", () => {
|
|
beforeEach(() => {
|
|
cy.task("stopMockServer")
|
|
})
|
|
|
|
it("should succeeds and update the channel name", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getGuildMemberWithGuildIdHandler,
|
|
getChannelWithChannelIdHandler,
|
|
putChannelWithChannelIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.intercept(`${API_URL}${putChannelWithChannelIdHandler.url}*`).as(
|
|
"putChannelWithChannelIdHandler",
|
|
)
|
|
cy.visit(`/application/${guildExample.id}/${channelExample.id}/settings`)
|
|
cy.get("[data-cy=channel-name-input]")
|
|
.clear()
|
|
.type(putChannelWithChannelIdHandler.response.body.name)
|
|
cy.get("[data-cy=button-save-channel-settings]").click()
|
|
cy.wait("@putChannelWithChannelIdHandler").then(() => {
|
|
cy.location("pathname").should(
|
|
"eq",
|
|
`/application/${guildExample.id}/${channelExample.id}`,
|
|
)
|
|
})
|
|
})
|
|
|
|
it("should succeeds and delete the channel", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getGuildMemberWithGuildIdHandler,
|
|
getChannelWithChannelIdHandler,
|
|
getChannelWithChannelIdHandler2,
|
|
deleteChannelWithChannelIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.intercept(`${API_URL}${deleteChannelWithChannelIdHandler.url}*`).as(
|
|
"deleteChannelWithChannelIdHandler",
|
|
)
|
|
cy.visit(`/application/${guildExample.id}/${channelExample.id}/settings`)
|
|
cy.get("[data-cy=button-delete-channel-settings]").click()
|
|
cy.get("[data-cy=confirm-popup-yes-button]").click()
|
|
cy.wait("@deleteChannelWithChannelIdHandler").then(() => {
|
|
cy.location("pathname").should(
|
|
"eq",
|
|
`/application/${guildExample.id}/${channelExample2.id}`,
|
|
)
|
|
})
|
|
})
|
|
|
|
it("should fails with too long channel name on update", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getGuildMemberWithGuildIdHandler,
|
|
getChannelWithChannelIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.visit(`/application/${guildExample.id}/${channelExample.id}/settings`)
|
|
cy.get("[data-cy=channel-name-input]").type(
|
|
"random channel name that is really too long for a channel name",
|
|
)
|
|
cy.get("[data-cy=button-save-channel-settings]").click()
|
|
cy.get("#error-name").should(
|
|
"have.text",
|
|
"Error: The field must contain at most 20 characters.",
|
|
)
|
|
})
|
|
|
|
it("should redirect the user to `/404` if member is not owner", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getGuildMemberNotOwnerWithGuildIdHandler,
|
|
getChannelWithChannelIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.visit(`/application/${guildExample.id}/${channelExample.id}/settings`, {
|
|
failOnStatusCode: false,
|
|
})
|
|
.get("[data-cy=status-code]")
|
|
.contains("404")
|
|
})
|
|
|
|
it("should redirect the user to `/404` if `guildId` or `channelId` are not numbers", () => {
|
|
cy.task("startMockServer", authenticationHandlers).setCookie(
|
|
"refreshToken",
|
|
"refresh-token",
|
|
)
|
|
cy.visit("/application/abc/abc/settings", {
|
|
failOnStatusCode: false,
|
|
})
|
|
.get("[data-cy=status-code]")
|
|
.contains("404")
|
|
})
|
|
|
|
it("should redirect the user to `/404` if `guildId` doesn't exist", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getChannelWithChannelIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.visit(`/application/123/${channelExample.id}/settings`, {
|
|
failOnStatusCode: false,
|
|
})
|
|
.get("[data-cy=status-code]")
|
|
.contains("404")
|
|
})
|
|
|
|
it("should redirect the user to `/404` if `channelId` doesn't exist", () => {
|
|
cy.task("startMockServer", [
|
|
...authenticationHandlers,
|
|
getGuildMemberWithGuildIdHandler,
|
|
]).setCookie("refreshToken", "refresh-token")
|
|
cy.visit(`/application/${guildExample.id}/123/settings`, {
|
|
failOnStatusCode: false,
|
|
})
|
|
.get("[data-cy=status-code]")
|
|
.contains("404")
|
|
})
|
|
})
|
|
|
|
export {}
|