From 5860cbea87c351b05eb8dd36dfc0cc084569bf57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Pelay?= Date: Thu, 23 May 2024 14:04:40 -0400 Subject: [PATCH] add cypress test --- .../e2e/hedy_page/run_code_button.cy.js | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/tests/cypress/e2e/hedy_page/run_code_button.cy.js b/tests/cypress/e2e/hedy_page/run_code_button.cy.js index 9f5a9a91557..96cee01462d 100644 --- a/tests/cypress/e2e/hedy_page/run_code_button.cy.js +++ b/tests/cypress/e2e/hedy_page/run_code_button.cy.js @@ -47,18 +47,38 @@ describe('Is able to run code', () => { cy.visit('/hedy/14#tic') const program_1 = "for i in range 1 to 10\n choice = ask 'What is your choice?'" + cy.intercept('/parse').as('parse') cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').clear() - cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').type(program_1) - cy.get('#runit') + cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').type(program_1) + cy.get('#runit').click() + cy.wait('@parse') cy.getBySel('quizmaster').click() const program_2 = "name = ask 'what is your name?'" cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').clear() cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').type(program_2) cy.get('#runit').click() + cy.wait('@parse') cy.get('#ask-modal').type('Hedy') cy.get('#ask-modal > form').submit() cy.get('#ask-modal').should('not.be.visible') }) + + it("After successfully executing a program, the stop program button is hidden", () => { + cy.intercept('/parse').as('parse') + cy.visit('/hedy/2') + + const program = "var1 is 1\nvar2 is 2\nvar3 is 3\nvar4 is 4\nprint var1 var2 var3 var4" + cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').clear() + cy.get('#editor > .cm-editor > .cm-scroller > .cm-content').type(program) + + cy.get('#runit').click() + cy.wait('@parse') + // A hardcoded wait to ensure that the program finishes execution + cy.wait(500) + cy.get('#stopit').should('not.be.visible') + cy.get('#runit').should('be.visible') + cy.get('#variable-list').should('be.visible').and('have.text', 'var1: 1var2: 2var3: 3var4: 4') + }) })