From a7849f5b3dd32f52a8bd13e23eca52fee636df49 Mon Sep 17 00:00:00 2001 From: Wahyu Ramadhan Date: Sun, 23 Jul 2023 20:04:06 +0700 Subject: [PATCH 1/3] Add cypress e2e --- cypress.config.js | 9 ++++++ cypress/e2e/tests/gantt-duration-edit.cy.js | 9 ++++++ cypress/fixtures/example.json | 5 ++++ cypress/support/commands.js | 33 +++++++++++++++++++++ cypress/support/e2e.js | 20 +++++++++++++ package.json | 1 + 6 files changed, 77 insertions(+) create mode 100644 cypress.config.js create mode 100644 cypress/e2e/tests/gantt-duration-edit.cy.js create mode 100644 cypress/fixtures/example.json create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/e2e.js diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 0000000..97f47c4 --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,9 @@ +const { defineConfig } = require("cypress"); + +module.exports = defineConfig({ + e2e: { + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/cypress/e2e/tests/gantt-duration-edit.cy.js b/cypress/e2e/tests/gantt-duration-edit.cy.js new file mode 100644 index 0000000..ec199ab --- /dev/null +++ b/cypress/e2e/tests/gantt-duration-edit.cy.js @@ -0,0 +1,9 @@ +describe("Test a page", () => { + beforeEach(() => { + cy.visit("http://localhost:3000/#/login"); + }); + + it("should visit the authenticated page", () => { + // Continue with your assertions or other test steps + }); +}); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 0000000..2b0aa47 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,33 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +Cypress.Commands.add("login", (username, password) => { + // Implement your login logic here + // For example: + cy.visit("http://localhost:3000/#/login"); // Assuming your login page is at "/login" + cy.get("#exampleName").type(username); + cy.get("#examplePassword").type(password); + cy.get(".px-4").click(); +}); \ No newline at end of file diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js new file mode 100644 index 0000000..0e7290a --- /dev/null +++ b/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/package.json b/package.json index 3e8583b..f6e19ba 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "@babel/core": "^7.14.5", "babel-plugin-module-resolver": "^4.1.0", "clean-webpack-plugin": "^3.0.0", + "cypress": "^12.17.2", "react-scripts": "^3.0.1", "webpack-sources": "1.0.1" }, From abb3c39a7d7bbd92632c553444e64c99b463db68 Mon Sep 17 00:00:00 2001 From: Wahyu Ramadhan Date: Tue, 25 Jul 2023 08:53:29 +0700 Subject: [PATCH 2/3] Fix unnecessary request on project menu --- src/views/SimproV2/CreatedProyek/AsignHrProject.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/views/SimproV2/CreatedProyek/AsignHrProject.js b/src/views/SimproV2/CreatedProyek/AsignHrProject.js index e2ca043..fb392f1 100644 --- a/src/views/SimproV2/CreatedProyek/AsignHrProject.js +++ b/src/views/SimproV2/CreatedProyek/AsignHrProject.js @@ -34,9 +34,11 @@ const AssignHrProject = ({ openDialog, closeDialog, toggleDialog, idTask, toolsR }, [openDialog]); useEffect(() => { - getDataUser(); - getDataProjectRole(); - }, []) + if (dataUserToProject.length > 0) { + getDataUser(); + getDataProjectRole(); + } + }, [dataUserToProject]) const getDataAssignHr = async () => { const payload = { From 2ab7277223644685d63fbeddfd8fc32cc0dd9fe9 Mon Sep 17 00:00:00 2001 From: Wahyu Ramadhan Date: Tue, 25 Jul 2023 09:25:05 +0700 Subject: [PATCH 3/3] Quick Fix --- src/views/SimproV2/CreatedProyek/AsignHrProject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/SimproV2/CreatedProyek/AsignHrProject.js b/src/views/SimproV2/CreatedProyek/AsignHrProject.js index fb392f1..e3b4152 100644 --- a/src/views/SimproV2/CreatedProyek/AsignHrProject.js +++ b/src/views/SimproV2/CreatedProyek/AsignHrProject.js @@ -34,7 +34,7 @@ const AssignHrProject = ({ openDialog, closeDialog, toggleDialog, idTask, toolsR }, [openDialog]); useEffect(() => { - if (dataUserToProject.length > 0) { + if (dataUserToProject.length > 0 && openDialog) { getDataUser(); getDataProjectRole(); }