diff --git a/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js b/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js index 091cf1253e..efb9e58c75 100644 --- a/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js +++ b/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js @@ -57,5 +57,183 @@ filterTests(["all"], () => { cy.window().its('open').should('be.calledOnce') }) }) + + it("should add active/inactive vacancies", () => { + // Visit published app + cy.visit(`${Cypress.config().baseUrl}/app/` + templateNameParsed) + + // loop for active/inactive vacancies + for (let i = 0; i < 2; i++) { + // Vacancies section + cy.get(".links").contains("Vacancies").click({ force: true }) + cy.get(".spectrum-Button").contains("Create New").click() + + // Add inactive vacancy + // Title + cy.get('[data-name="Title"]').within(() => { + cy.get(".spectrum-Textfield").type("Tester") + }) + + // Closing Date + cy.get('[data-name="Closing date"]').within(() => { + cy.get('[aria-label=Calendar]').click({ force: true }) + }) + cy.get("[aria-current=date]").click() + + // Department + cy.get('[data-name="Department"]').within(() => { + cy.get(".spectrum-Picker-label").click() + }) + cy.get(".spectrum-Menu").find('li').its('length').then(len => { + cy.get(".spectrum-Menu-item").eq(Math.floor(Math.random() * len)).click() + }) + + // Employment Type + cy.get('[data-name="Employment type"]').within(() => { + cy.get(".spectrum-Picker-label").click() + }) + cy.get(".spectrum-Menu").find('li').its('length').then(len => { + cy.get(".spectrum-Menu-item").eq(Math.floor(Math.random() * len)).click() + }) + + // Salary + cy.get('[data-name="Salary ($)"]').within(() => { + cy.get(".spectrum-Textfield").type(40000) + }) + + // Description + cy.get('[data-name="Description"]').within(() => { + cy.get(".spectrum-Textfield").type("description") + }) + + // Responsibilities + cy.get('[data-name="Responsibilities"]').within(() => { + cy.get(".spectrum-Textfield").type("Responsibilities") + }) + + // Requirements + cy.get('[data-name="Requirements"]').within(() => { + cy.get(".spectrum-Textfield").type("Requirements") + }) + + // Hiring manager + cy.get('[data-name="Hiring manager"]').within(() => { + cy.get(".spectrum-Picker-label").click() + }) + cy.get(".spectrum-Menu").find('li').its('length').then(len => { + cy.get(".spectrum-Menu-item").eq(Math.floor(Math.random() * len)).click() + }) + + // Active + if (i == 0) { + cy.get('[data-name="Active"]').within(() => { + cy.get(".spectrum-Checkbox-box").click({ force: true }) + }) + } + + // Location + cy.get('[data-name="Location"]').within(() => { + cy.get(".spectrum-Picker-label").click() + }) + cy.get(".spectrum-Menu").find('li').its('length').then(len => { + cy.get(".spectrum-Menu-item").eq(Math.floor(Math.random() * len)).click() + }) + + // Save vacancy + cy.get(".spectrum-Button").contains("Save").click({ force: true }) + cy.wait(1000) + + // Check table was updated + cy.get('[data-name="Vacancies Table"]').eq(i).should('contain', 'Tester') + } + }) + + xit("should filter applications by stage", () => { + // Visit published app + cy.visit(`${Cypress.config().baseUrl}/app/` + templateNameParsed) + cy.wait(1000) + + // Applications section + cy.get(".links").contains("Applications").click({ force: true }) + cy.wait(1000) + + // Filter by stage - Confirm table updates + cy.get(".spectrum-Picker").contains("Filter by stage").click({ force: true }) + cy.get(".spectrum-Menu").find('li').its('length').then(len => { + for (let i = 1; i < len; i++) { + cy.get(".spectrum-Menu-item").eq(i).click() + const stage = cy.get(".spectrum-Picker-label") + stage.invoke('text').then(stageText => { + if (stageText == "1st interview") { + cy.get(".placeholder").should('contain', 'No rows found') + } + else { + cy.get(".spectrum-Table-row").should('contain', stageText) + } + cy.get(".spectrum-Picker").contains(stageText).click({ force: true }) + }) + } + }) + }) + + xit("should edit an application", () => { + // Switch application from not hired to hired + // Visit published app + cy.visit(`${Cypress.config().baseUrl}/app/` + templateNameParsed) + cy.wait(1000) + + // Not Hired section + cy.get(".links").contains("Not hired").click({ force: true }) + cy.wait(500) + + // View application + cy.get(".spectrum-Table").within(() => { + cy.get(".spectrum-Button").contains("View").click({ force: true }) + cy.wait(500) + }) + + // Update value for 'Staged' + cy.get('[data-name="Stage"]').within(() => { + cy.get(".spectrum-Picker-label").click() + }) + cy.get(".spectrum-Menu").within(() => { + cy.get(".spectrum-Menu-item").contains("Hired").click() + }) + + // Save application + cy.get(".spectrum-Button").contains("Save").click({ force: true }) + cy.wait(500) + + // Hired section + cy.get(".links").contains("Hired").click({ force: true }) + cy.wait(500) + + // Verify Table size - Total rows = 2 + cy.get(".spectrum-Table").find(".spectrum-Table-row").its('length').then((len => { + expect(len).to.eq(2) + })) + }) + + xit("should delete an application", () => { + // Visit published app + cy.visit(`${Cypress.config().baseUrl}/app/` + templateNameParsed) + cy.wait(1000) + + // Hired section + cy.get(".links").contains("Hired").click({ force: true }) + cy.wait(500) + + // View first application + cy.get(".spectrum-Table-row").eq(0).within(() => { + cy.get(".spectrum-Button").contains("View").click({ force: true }) + cy.wait(500) + }) + + // Delete application + cy.get(".spectrum-Button").contains("Delete").click({ force: true }) + cy.get(".spectrum-Dialog-grid").within(() => { + cy.get(".spectrum-Button").contains("Confirm").click() + }) + }) }) })