42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/* global cy */
|
|
const selectors = {
|
|
heading: "[data-test-label='landing-header']",
|
|
callToAction: "[data-test-label='landing-big-cta']",
|
|
certifications: "[data-test-label='certifications']",
|
|
testimonials: "[data-test-label='testimonial-cards']",
|
|
landingPageImage: '.landing-page-image'
|
|
};
|
|
|
|
describe('Landing page', function() {
|
|
it('renders', function() {
|
|
cy.visit('/');
|
|
cy.title().should('eq', 'Learn to code at home | freeCodeCamp.org');
|
|
cy.contains(selectors.heading, 'Learn to code at home.');
|
|
cy.contains(selectors.callToAction, "Get started (it's free)");
|
|
cy.get(selectors.callToAction).should('have.length', 2);
|
|
});
|
|
|
|
it('has a visible large image on large viewports', function() {
|
|
cy.viewport(1200, 660)
|
|
.get(selectors.landingPageImage)
|
|
.should('be.visible');
|
|
|
|
cy.viewport(1199, 660)
|
|
.get(selectors.landingPageImage)
|
|
.should('not.be.visible');
|
|
});
|
|
|
|
it('has 10 certifications', function() {
|
|
cy.get(selectors.certifications)
|
|
.children()
|
|
.its('length')
|
|
.should('eq', 10);
|
|
});
|
|
it('has 3 testimonial cards', function() {
|
|
cy.get(selectors.testimonials)
|
|
.children()
|
|
.its('length')
|
|
.should('eq', 3);
|
|
});
|
|
});
|