* feat(client): improve SuperBlock cert claiming UX * broken: add certCard foundation * broken: add TODO comments for scatter-brain * restructure stepsToClaimSelector * add api-server verifyCanClaimCert logic * temp: correct verifyCanClaim URL * move GET logic to CertificationCard, remove console.logs * add error handling, and navigation logic * correct verification logical flow * fix completion-epic updates, fix cert verify * update widget to button, disable button unless verified * working: refactor CertChallenge with hook state * add StepsType * update Honesty snapshot * add DonationModal to SuperBlockIntro * disable Claim Cert button unless also isHonest * prevent warning when viewing cert * test: use navigate in Modal to return to hash * test: replace gatsby.navigate with reach/router.navigate * add propTypes * fix: rename propTypes -> prop-types * use react-scrollable-anchor to squash modal bug * update location parser type * open-source Oliver's suggestion * fix superblock title * add claim-cert-from-learn tests * use larger tests Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * fix some cypress stuff * fix ShowCertification cypress test Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
/* global cy Cypress*/
|
|
// ***********************************************
|
|
// This example commands.js shows you how to
|
|
// create various custom commands and overwrite
|
|
// existing commands.
|
|
//
|
|
// For more comprehensive examples of custom
|
|
// commands please read more here:
|
|
// https://on.cypress.io/custom-commands
|
|
// ***********************************************
|
|
//
|
|
//
|
|
// -- This is a parent command --
|
|
// Cypress.Commands.add('login', (email, password) => {});
|
|
//
|
|
//
|
|
// -- This is a child command --
|
|
// Cypress.Commands.add(
|
|
// 'drag',
|
|
// { prevSubject: 'element' },
|
|
// (subject, options) => {}
|
|
// );
|
|
//
|
|
//
|
|
// -- This is a dual command --
|
|
// Cypress.Commands.add(
|
|
// 'dismiss',
|
|
// { prevSubject: 'optional' },
|
|
// (subject, options) => {}
|
|
// );
|
|
//
|
|
//
|
|
// -- This will overwrite an existing command --
|
|
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => {});
|
|
|
|
Cypress.Commands.add('login', () => {
|
|
cy.visit('/');
|
|
cy.contains("Get started (it's free)").click();
|
|
cy.url().should('eq', Cypress.config().baseUrl + '/learn/');
|
|
cy.contains('Welcome back');
|
|
});
|
|
|
|
Cypress.Commands.add('toggleAll', () => {
|
|
cy.login();
|
|
cy.visit('/settings');
|
|
// cy.get('input[name="isLocked"]').click();
|
|
// cy.get('input[name="name"]').click();
|
|
cy.get('#privacy-settings')
|
|
.find('.toggle-not-active')
|
|
.each(element => {
|
|
return new Cypress.Promise(resolve => {
|
|
cy.wrap(element).click().should('have.class', 'toggle-active');
|
|
resolve();
|
|
});
|
|
});
|
|
cy.get('#honesty-policy').find('button').click().wait(300);
|
|
});
|
|
|
|
Cypress.Commands.add('resetUsername', () => {
|
|
cy.login();
|
|
cy.visit('/settings');
|
|
|
|
cy.get('@usernameInput')
|
|
.clear({ force: true })
|
|
.type('developmentuser', { force: true });
|
|
|
|
cy.contains('Username is available');
|
|
|
|
cy.get('@usernameInput').type('{enter}', { force: true, release: false });
|
|
|
|
cy.contains('Account Settings for developmentuser').should('be.visible');
|
|
});
|