62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
/* global cy */
|
|
|
|
const selectors = {
|
|
donateSupport: {
|
|
firstTitle: '.donate-support h4:first-of-type b',
|
|
secondTitle: '.donate-support h4:last-of-type b',
|
|
firstText: '.donate-support p:first-of-type',
|
|
secondText: '.donate-support p:last-of-type',
|
|
link: '.donate-support a'
|
|
}
|
|
};
|
|
|
|
describe('Donate page', () => {
|
|
before(() => {
|
|
cy.clearCookies();
|
|
cy.exec('npm run seed');
|
|
cy.login();
|
|
cy.visit('/donate');
|
|
});
|
|
|
|
it('Should render', () => {
|
|
cy.title().should('eq', 'Support our nonprofit | freeCodeCamp.org');
|
|
});
|
|
|
|
it('Should have support section', () => {
|
|
cy.contains(
|
|
'Want to make a bigger one-time donation, mail us a check, or give in other ways?'
|
|
).should('be.visible');
|
|
});
|
|
|
|
it('Support section should have support text', () => {
|
|
cy.contains(
|
|
selectors.donateSupport.firstTitle,
|
|
'Want to make a bigger one-time donation, mail us a check, or give in other ways?'
|
|
);
|
|
cy.contains(
|
|
selectors.donateSupport.secondTitle,
|
|
'Need help with your current or past donations?'
|
|
);
|
|
cy.contains(
|
|
selectors.donateSupport.firstText,
|
|
"Here are many other ways you can support our non-profit's mission."
|
|
);
|
|
cy.contains(
|
|
selectors.donateSupport.secondText,
|
|
'Forward a copy of your donation receipt to donors@freecodecamp.org and tell us how we can help.'
|
|
);
|
|
});
|
|
|
|
it('Support section should have donation link', () => {
|
|
cy.get(selectors.donateSupport.link).should(
|
|
'have.attr',
|
|
'href',
|
|
'https://www.freecodecamp.org/news/how-to-donate-to-free-code-camp'
|
|
);
|
|
});
|
|
|
|
it('Donor alert should not be visible for non-donor', () => {
|
|
cy.get('.alert-info').should('not.exist');
|
|
});
|
|
});
|