55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
|
// CypressOnRails: dont remove these command
|
||
|
Cypress.Commands.add('appCommands', function (body) {
|
||
|
cy.log("APP: " + JSON.stringify(body))
|
||
|
return cy.request({
|
||
|
method: 'POST',
|
||
|
url: "/__cypress__/command",
|
||
|
body: JSON.stringify(body),
|
||
|
log: true,
|
||
|
failOnStatusCode: true
|
||
|
}).then((response) => {
|
||
|
return response.body
|
||
|
});
|
||
|
});
|
||
|
|
||
|
Cypress.Commands.add('app', function (name, command_options) {
|
||
|
return cy.appCommands({name: name, options: command_options}).then((body) => {
|
||
|
return body[0]
|
||
|
});
|
||
|
});
|
||
|
|
||
|
Cypress.Commands.add('appScenario', function (name, options = {}) {
|
||
|
return cy.app('scenarios/' + name, options)
|
||
|
});
|
||
|
|
||
|
Cypress.Commands.add('appEval', function (code) {
|
||
|
return cy.app('eval', code)
|
||
|
});
|
||
|
|
||
|
Cypress.Commands.add('appFactories', function (options) {
|
||
|
return cy.app('factory_bot', options)
|
||
|
});
|
||
|
|
||
|
Cypress.Commands.add('appFixtures', function (options) {
|
||
|
cy.app('activerecord_fixtures', options)
|
||
|
});
|
||
|
// CypressOnRails: end
|
||
|
|
||
|
// The next is optional
|
||
|
// beforeEach(() => {
|
||
|
// cy.app('clean') // have a look at cypress/app_commands/clean.rb
|
||
|
// });
|
||
|
|
||
|
// comment this out if you do not want to attempt to log additional info on test fail
|
||
|
Cypress.on('fail', (err, runnable) => {
|
||
|
// allow app to generate additional logging data
|
||
|
Cypress.$.ajax({
|
||
|
url: '/__cypress__/command',
|
||
|
data: JSON.stringify({name: 'log_fail', options: {error_message: err.message, runnable_full_title: runnable.fullTitle() }}),
|
||
|
async: false,
|
||
|
method: 'POST'
|
||
|
});
|
||
|
|
||
|
throw err;
|
||
|
});
|