62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | /* global cy */ | ||
|  | 
 | ||
|  | const selectors = { | ||
|  |   defaultOutput: '.output-text', | ||
|  |   hotkeys: '.default-layout > div', | ||
|  |   runTestsButton: 'button:contains("Run the Tests")' | ||
|  | }; | ||
|  | 
 | ||
|  | const locations = { | ||
|  |   index: | ||
|  |     '/learn/responsive-web-design/basic-html-and-html5/' + | ||
|  |     'say-hello-to-html-elements' | ||
|  | }; | ||
|  | 
 | ||
|  | const defaultOutput = `
 | ||
|  | /** | ||
|  | * Your test output will go here. | ||
|  | */`; | ||
|  | 
 | ||
|  | const runningOutput = '// running tests'; | ||
|  | const finishedOutput = '// tests completed'; | ||
|  | 
 | ||
|  | describe('Classic challenge', function() { | ||
|  |   it('renders', () => { | ||
|  |     cy.visit(locations.index); | ||
|  | 
 | ||
|  |     cy.title().should( | ||
|  |       'eq', | ||
|  |       'Learn Basic HTML and HTML5: Say Hello to HTML Elements |' + | ||
|  |         ' freeCodeCamp.org' | ||
|  |     ); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('renders the default output text', () => { | ||
|  |     cy.visit(locations.index); | ||
|  |     cy.get(selectors.defaultOutput).contains(defaultOutput); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('shows test output when the tests are run', () => { | ||
|  |     cy.visit(locations.index); | ||
|  |     cy.get(selectors.runTestsButton) | ||
|  |       .click() | ||
|  |       .then(() => { | ||
|  |         cy.get(selectors.defaultOutput) | ||
|  |           .contains(runningOutput) | ||
|  |           .contains(finishedOutput); | ||
|  |       }); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('shows test output when the tests are triggered by the keyboard', () => { | ||
|  |     cy.visit(locations.index); | ||
|  |     cy.get(selectors.hotkeys) | ||
|  |       .focus() | ||
|  |       .type('{ctrl}{enter}') | ||
|  |       .then(() => { | ||
|  |         cy.get(selectors.defaultOutput) | ||
|  |           .contains(runningOutput) | ||
|  |           .contains(finishedOutput); | ||
|  |       }); | ||
|  |   }); | ||
|  | }); |