diff --git a/e2e/cypress.config.ts b/e2e/cypress.config.ts index 30ec70e..596f0be 100644 --- a/e2e/cypress.config.ts +++ b/e2e/cypress.config.ts @@ -9,7 +9,7 @@ import { defineConfig } from "cypress"; export default defineConfig({ e2e: { - baseUrl: "https://duckduckgo.com", + baseUrl: "http://localhost:3000", specPattern: "**/*.feature", setupNodeEvents, supportFile: false, diff --git a/e2e/features/connexion.feature b/e2e/features/connexion.feature new file mode 100644 index 0000000..38d169b --- /dev/null +++ b/e2e/features/connexion.feature @@ -0,0 +1,16 @@ +#language: fr +Fonctionnalité: Connexion de user@yopmail.com + + Scénario: Connexion d'un utilisateur + Etant donné que je navigue sur la page + Alors je vois "Bonjour monde !" + Quand je clique sur le bouton MonComptePro + + Quand je me connecte en tant que user@yopmail.com sur moncomptepro + Et je vois "Votre organisation de rattachement" sur moncomptepro + Et je click sur "Continuer" sur moncomptepro + + Alors je suis redirigé sur "/" + Et je vois "Information utilisateur" + Et je vois "user@yopmail.com" + Et je vois "International knowledge practice leader" \ No newline at end of file diff --git a/e2e/features/connexion.ts b/e2e/features/connexion.ts new file mode 100644 index 0000000..149d3d4 --- /dev/null +++ b/e2e/features/connexion.ts @@ -0,0 +1,58 @@ +// + +import { Given, Then, When } from "@badeball/cypress-cucumber-preprocessor"; + +// + +Given("je navigue sur la page", () => { + cy.visit("/"); +}); + +When("je clique sur le bouton MonComptePro", () => { + cy.get(".moncomptepro-button").click(); +}); + +When("je suis redirigé sur {string}", (path: string) => { + cy.url().should("contain", path); +}); + +Then("je vois {string}", function (text: string) { + cy.contains(text); +}); + +// + +When("je vois {string} sur moncomptepro", (_text: string) => { + cy.origin( + "https://app-test.moncomptepro.beta.gouv.fr", + { args: _text }, + (text) => { + cy.contains(text); + } + ); +}); + +When("je click sur {string} sur moncomptepro", (_text: string) => { + cy.origin( + "https://app-test.moncomptepro.beta.gouv.fr", + { args: _text }, + (text) => { + cy.contains(text).click(); + } + ); +}); + +When( + "je me connecte en tant que user@yopmail.com sur moncomptepro", + (path: string) => { + cy.origin("https://app-test.moncomptepro.beta.gouv.fr", () => { + cy.get('[name="login"]').type("user@yopmail.com"); + cy.get('[type="submit"]').click(); + + cy.get('[name="password"]').type("user@yopmail.com"); + cy.get('[action="/users/sign-in"] [type="submit"]') + .contains("Se connecter") + .click(); + }); + } +); diff --git a/e2e/features/duckduckgo.feature b/e2e/features/duckduckgo.feature deleted file mode 100644 index a1068f5..0000000 --- a/e2e/features/duckduckgo.feature +++ /dev/null @@ -1,4 +0,0 @@ -Feature: duckduckgo.com - Scenario: visiting the frontpage - When I visit duckduckgo.com - Then I should see a search bar \ No newline at end of file diff --git a/e2e/features/duckduckgo.ts b/e2e/features/duckduckgo.ts deleted file mode 100644 index 4f16fc4..0000000 --- a/e2e/features/duckduckgo.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Then, When } from "@badeball/cypress-cucumber-preprocessor"; - -When("I visit duckduckgo.com", () => { - cy.visit("https://duckduckgo.com/"); -}); - -Then("I should see a search bar", () => { - cy.get("input[type=text]") - .should("have.attr", "placeholder") - .and( - "match", - /Search the web without being tracked|Search without being tracked/ - ); - - assert.deepEqual({}, {}); -}); diff --git a/index.js b/index.js index 150bcbb..cd7ca88 100644 --- a/index.js +++ b/index.js @@ -15,7 +15,7 @@ app.use( cookieSession({ name: "mcp_session", keys: ["key1", "key2"], - }), + }) ); app.use(morgan("combined"));