mirror of
https://github.com/jaypyles/Scraperr.git
synced 2025-12-15 12:16:37 +00:00
feat: add authentication test
This commit is contained in:
@@ -4,7 +4,7 @@ import random
|
|||||||
|
|
||||||
from bs4 import BeautifulSoup, Tag
|
from bs4 import BeautifulSoup, Tag
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
from seleniumwire import webdriver # type: ignore
|
from seleniumwire import webdriver
|
||||||
from lxml.etree import _Element
|
from lxml.etree import _Element
|
||||||
from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
from selenium.webdriver.chrome.options import Options as ChromeOptions
|
from selenium.webdriver.chrome.options import Options as ChromeOptions
|
||||||
|
|||||||
60
cypress/e2e/authentication.cy.ts
Normal file
60
cypress/e2e/authentication.cy.ts
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
describe("Authentication", () => {
|
||||||
|
it("should register", () => {
|
||||||
|
cy.intercept("POST", "/api/signup").as("signup");
|
||||||
|
|
||||||
|
cy.visit("/").then(() => {
|
||||||
|
cy.get("button").contains("Login").click();
|
||||||
|
cy.url().should("include", "/login");
|
||||||
|
|
||||||
|
cy.get("form").should("be.visible");
|
||||||
|
cy.get("button")
|
||||||
|
.contains("No Account? Sign up")
|
||||||
|
.should("be.visible")
|
||||||
|
.click();
|
||||||
|
|
||||||
|
cy.get("input[name='email']").type("test@test.com");
|
||||||
|
cy.get("input[name='password']").type("password");
|
||||||
|
cy.get("input[name='fullName']").type("John Doe");
|
||||||
|
cy.get("button[type='submit']").contains("Signup").click();
|
||||||
|
|
||||||
|
cy.wait("@signup").then((interception) => {
|
||||||
|
if (!interception.response) {
|
||||||
|
cy.log("No response received!");
|
||||||
|
throw new Error("signup request did not return a response");
|
||||||
|
}
|
||||||
|
|
||||||
|
cy.log("Response status: " + interception.response.statusCode);
|
||||||
|
cy.log("Response body: " + JSON.stringify(interception.response.body));
|
||||||
|
|
||||||
|
expect(interception.response.statusCode).to.eq(200);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should login", () => {
|
||||||
|
cy.intercept("POST", "/api/token").as("token");
|
||||||
|
|
||||||
|
cy.visit("/").then(() => {
|
||||||
|
cy.get("button")
|
||||||
|
.contains("Login")
|
||||||
|
.click()
|
||||||
|
.then(() => {
|
||||||
|
cy.get("input[name='email']").type("test@test.com");
|
||||||
|
cy.get("input[name='password']").type("password");
|
||||||
|
cy.get("button[type='submit']").contains("Login").click();
|
||||||
|
|
||||||
|
cy.wait("@token").then((interception) => {
|
||||||
|
if (!interception.response) {
|
||||||
|
cy.log("No response received!");
|
||||||
|
throw new Error("token request did not return a response");
|
||||||
|
}
|
||||||
|
|
||||||
|
cy.log("Response status: " + interception.response.statusCode);
|
||||||
|
cy.log("Response body: " + JSON.stringify(interception.response.body));
|
||||||
|
|
||||||
|
expect(interception.response.statusCode).to.eq(200);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user