106 lines
2.6 KiB
JavaScript
106 lines
2.6 KiB
JavaScript
// ***********************************************
|
|
// 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('stubAuthenticate', (attrs = {}) => {
|
|
const defaultAttrs = {
|
|
id: '1',
|
|
first_name: 'Peter',
|
|
last_name: 'Pan',
|
|
name: 'Peter Pan',
|
|
email: 'peter@example.com',
|
|
photo_url: ''
|
|
}
|
|
const currentUserAtrs = {...defaultAttrs, ...attrs}
|
|
cy.intercept('GET', `${Cypress.env('apiBaseUrl')}/me`, {
|
|
statusCode: 200,
|
|
body: currentUserAtrs
|
|
}).as('getCurrentUser')
|
|
|
|
});
|
|
|
|
Cypress.Commands.add('stubUnauthenticate', () => {
|
|
cy.intercept('GET', `${Cypress.env('apiBaseUrl')}/me`, {
|
|
statusCode: 401,
|
|
body: {}
|
|
}).as('getUnauthenticateCurrentUser')
|
|
});
|
|
|
|
|
|
Cypress.Commands.add('stubGonSubscriptionCodes', () => {
|
|
Cypress.on('window:before:load', win => {
|
|
win.gon = {
|
|
//session variables
|
|
global: {
|
|
subscription_codes: [
|
|
{
|
|
id: null,
|
|
name: 'Free',
|
|
price: 0,
|
|
cycle: 'month'
|
|
},
|
|
{
|
|
id: 'jamsubsilver',
|
|
name: 'Silver',
|
|
price: 4.99,
|
|
cycle: 'month'
|
|
},
|
|
{
|
|
id: 'jamsubgold',
|
|
name: 'Gold',
|
|
price: 9.99,
|
|
cycle: 'month'
|
|
},
|
|
{
|
|
id: 'jamsubplatinum',
|
|
name: 'Platinum',
|
|
price: 19.99,
|
|
cycle: 'month'
|
|
},
|
|
{
|
|
id: 'jamsubsilveryearly',
|
|
name: 'Silver',
|
|
price: 49.99,
|
|
cycle: 'year'
|
|
},
|
|
{
|
|
id: 'jamsubgoldyearly',
|
|
name: 'Gold',
|
|
price: 99.99,
|
|
cycle: 'year'
|
|
},
|
|
{
|
|
id: 'jamsubplatinumyearly',
|
|
name: 'Platinum',
|
|
price: 199.99,
|
|
cycle: 'year'
|
|
},
|
|
]
|
|
}
|
|
}
|
|
});
|
|
});
|