diff --git a/cypress.config.js b/cypress.config.js
index 41d11728097..50ca8da6079 100644
--- a/cypress.config.js
+++ b/cypress.config.js
@@ -22,11 +22,7 @@ module.exports = defineConfig({
specPattern: ['cypress/e2e/default/**/*.js', 'cypress/e2e/default/**/*.ts'],
// Temporary disable these until we can address the flakiness
- excludeSpecPattern: [
- 'cypress/e2e/**/challenge-hot-keys.ts',
- 'cypress/e2e/**/multifile.ts',
- 'cypress/e2e/**/codeally.ts'
- ],
+ excludeSpecPattern: ['cypress/e2e/**/challenge-hot-keys.ts'],
setupNodeEvents(on, config) {
config.env = config.env || {};
diff --git a/cypress/e2e/default/learn/challenges/multifile.ts b/cypress/e2e/default/learn/challenges/multifile.ts
index fb1553c148e..8a1a7c874eb 100644
--- a/cypress/e2e/default/learn/challenges/multifile.ts
+++ b/cypress/e2e/default/learn/challenges/multifile.ts
@@ -47,7 +47,10 @@ describe('Challenge with multifile editor', () => {
// tests make sure it is above this one
it('prompts unauthenticated user to sign in to save progress', () => {
cy.visit(location);
- cy.focused().type('{end}{enter}{ctrl+enter}');
+ cy.focused()
+ .click()
+ .type('{end}{enter}')
+ .type('{ctrl}{enter}', { release: false, delay: 100 });
cy.get(selectors.signInButton).contains(translations.learn['sign-in-save']);
cy.contains(translations.learn['congratulations']);
cy.get(selectors.signInButton).click();
@@ -55,20 +58,28 @@ describe('Challenge with multifile editor', () => {
cy.get(selectors.signInButton).should('not.exist');
});
- it('focuses the submit button after testing a valid solution', () => {
- cy.visit(location);
- cy.focused().type('{end}{enter}');
- cy.get(selectors.checkLowerJawButton).should('not.be.focused');
- cy.get(selectors.checkLowerJawButton).click();
- cy.get(selectors.submitLowerJawButton).should('be.focused');
- });
+ it(
+ 'focuses on the submit button after tests passed',
+ { browser: '!firefox' },
+ () => {
+ cy.visit(location);
+ cy.focused().click().type('{end}{enter}');
+ cy.get(selectors.checkLowerJawButton).should('not.be.focused');
+ cy.get(selectors.checkLowerJawButton).click();
+ cy.get(selectors.submitLowerJawButton).should('be.focused');
+ }
+ );
- it('checks hotkeys when instruction is focused', () => {
- cy.reload();
- cy.focused().type('{end}{enter}');
- cy.get(selectors.instructionContainer)
- .click('topRight')
- .trigger('keydown', { ctrlKey: true, keyCode: 13 }); // keyCode : 13 enter key
- cy.get(selectors.submitLowerJawButton).should('not.be.focused');
- });
+ it(
+ 'checks hotkeys when instruction is focused',
+ { browser: '!firefox' },
+ () => {
+ cy.reload();
+ cy.focused().type('{end}{enter}');
+ cy.get(selectors.instructionContainer)
+ .click('topRight')
+ .trigger('keydown', { ctrlKey: true, keyCode: 13 }); // keyCode : 13 enter key
+ cy.get(selectors.submitLowerJawButton).should('not.be.focused');
+ }
+ );
});