|
- context("FileUploader", () => {
- before(() => {
- cy.login();
- cy.visit("/app");
- });
-
- function open_upload_dialog() {
- cy.window()
- .its("influxframework")
- .then((influxframework) => {
- new influxframework.ui.FileUploader();
- });
- }
-
- it("upload dialog api works", () => {
- open_upload_dialog();
- cy.get_open_dialog().should("contain", "Drag and drop files");
- cy.hide_dialog();
- });
-
- it("should accept dropped files", () => {
- open_upload_dialog();
-
- cy.get_open_dialog()
- .find(".file-upload-area")
- .selectFile("cypress/fixtures/example.json", {
- action: "drag-drop",
- });
-
- cy.get_open_dialog().find(".file-name").should("contain", "example.json");
- cy.intercept("POST", "/api/method/upload_file").as("upload_file");
- cy.get_open_dialog().findByRole("button", { name: "Upload" }).click();
- cy.wait("@upload_file").its("response.statusCode").should("eq", 200);
- cy.get(".modal:visible").should("not.exist");
- });
-
- it("should accept uploaded files", () => {
- open_upload_dialog();
-
- cy.get_open_dialog().findByRole("button", { name: "Library" }).click();
- cy.findByPlaceholderText("Search by filename or extension").type("example.json");
- cy.get_open_dialog().findAllByText("example.json").first().click();
- cy.intercept("POST", "/api/method/upload_file").as("upload_file");
- cy.get_open_dialog().findByRole("button", { name: "Upload" }).click();
- cy.wait("@upload_file")
- .its("response.body.message")
- .should("have.property", "file_name", "example.json");
- cy.get(".modal:visible").should("not.exist");
- });
-
- it("should accept web links", () => {
- open_upload_dialog();
-
- cy.get_open_dialog().findByRole("button", { name: "Link" }).click();
- cy.get_open_dialog()
- .findByPlaceholderText("Attach a web link")
- .type("https://github.com", { delay: 100, force: true });
- cy.intercept("POST", "/api/method/upload_file").as("upload_file");
- cy.get_open_dialog().findByRole("button", { name: "Upload" }).click();
- cy.wait("@upload_file")
- .its("response.body.message")
- .should("have.property", "file_url", "https://github.com");
- cy.get(".modal:visible").should("not.exist");
- });
-
- it("should allow cropping and optimization for valid images", () => {
- open_upload_dialog();
-
- cy.get_open_dialog()
- .find(".file-upload-area")
- .selectFile("cypress/fixtures/sample_image.jpg", {
- action: "drag-drop",
- });
-
- cy.get_open_dialog().findAllByText("sample_image.jpg").should("exist");
- cy.get_open_dialog().find(".btn-crop").first().click();
- cy.get_open_dialog().findByRole("button", { name: "Crop" }).click();
- cy.get_open_dialog().findAllByRole("checkbox", { name: "Optimize" }).should("exist");
- cy.get_open_dialog().findAllByLabelText("Optimize").first().click();
-
- cy.intercept("POST", "/api/method/upload_file").as("upload_file");
- cy.get_open_dialog().findByRole("button", { name: "Upload" }).click();
- cy.wait("@upload_file").its("response.statusCode").should("eq", 200);
- cy.get(".modal:visible").should("not.exist");
- });
- });
|