This repository has been archived on 2022-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
skynet-webportal/packages/webapp/cypress/integration/intergration.spec.js

38 lines
1.1 KiB
JavaScript

/// <reference types="cypress" />
context("Skynet", () => {
beforeEach(() => {
cy.visit("");
});
it("should render key website elements", () => {
cy.contains("Build a Free Internet");
cy.contains("Upload your Files");
cy.contains("Have a Skylink?");
});
it("should be able to upload a file", () => {
cy.intercept("POST", "/skynet/skyfile").as("upload");
const fileName = "check.json";
cy.wait(1000); // delay for drag-and-drop to work properly every time
cy.get('.home-upload input[type="file"]').attachFile(fileName, { subjectType: "drag-n-drop" });
cy.get(".home-upload").scrollIntoView();
cy.get(".home-uploaded-files").children().should("have.length", 1);
// wait max 2 minutes, the portal might be slow at times
cy.wait("@upload", { responseTimeout: 2 * 60 * 1000 });
cy.contains(".upload-file", fileName).within(() => {
cy.get(".url")
.invoke("text")
.should("match", /\/[a-zA-Z0-9-_]{46}/);
cy.contains("Copy Link").click();
cy.contains("Copied!").should("be.visible");
});
});
});