describe("Test a page", () => {
  beforeEach(() => {
    cy.login("admin", "1nt3gr4s14");
    cy.url({ timeout: 20000 }).should("include", "/dashboard");
    cy.visit("http://localhost:3000/#/projects");
  });

  it("Add project normal case", () => {
    cy.intercept('GET', 'http://localhost/adw-backend/api/currency/list').as('getCurrency');
    cy.intercept('GET', 'http://localhost/adw-backend/api/project-type/list').as('getType');
    cy.intercept('GET', 'http://localhost/adw-backend/api/divisi/list').as('getDivisi');
    cy.intercept('GET', 'http://localhost/adw-backend/api/project-phase/list').as('getPhase');
    cy.intercept('GET', 'http://localhost/adw-backend/api/human-resource/list').as('getHr');

    cy.get('[style="background: rgb(76, 175, 80); color: rgb(255, 255, 255);"]').click();

    cy.get(':nth-child(2) > :nth-child(1) > .form-group > .form-control').type('Automated Test');
    cy.get(':nth-child(2) > :nth-child(2) > .form-group > .form-control').type('AT');

    cy.wait("@getType").then((xhr) => {
      cy.get('#rc_select_1').type('template detail{enter}');
    });

    cy.wait("@getHr").then((xhr) => {
      cy.get('#rc_select_2').type('admin adw{enter}');
    });

    cy.get(':nth-child(2) > .form-group > .ant-picker > .ant-picker-input > input').click();
    cy.contains('td[title="2023-08-04"].ant-picker-cell', '4').click();

    cy.get(':nth-child(5) > :nth-child(1) > .form-group > .form-control').type('Indramayu');
    cy.get(':nth-child(5) > :nth-child(2) > .form-group > .form-control').type('Integrasia Utama');

    cy.wait("@getCurrency").then((xhr) => {
      cy.get('.col-md-4 > .ant-select > .ant-select-selector').click();
      cy.get('[title="USD"] > .ant-select-item-option-content').click();
      cy.get('.col-md-8 > .form-control').type(20000);
    });

    cy.get(':nth-child(6) > :nth-child(2) > .form-group > .form-control').type('Implement Automated Testing For Development');

    cy.wait("@getDivisi").then((xhr) => {
      cy.get('#rc_select_4').click();
      cy.get('[title=" Construction"] > .ant-select-item-option-content').click();
    });

    cy.wait("@getPhase").then((xhr) => {
      cy.get('#rc_select_5').click();
      cy.get('.ant-select-item-option-content').contains('Inisiasi').click();
    });

    cy.get('#rc_select_6').click();
    cy.get('.ant-select-item-option-content').contains('On budget').click();

    cy.get('.btn-primary').click();
  });
});