mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 23:37:33 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
// ***********************************************
 | 
						|
// 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) => { ... })
 | 
						|
const axios = require('axios');
 | 
						|
const fixture = require('../fixtures/example.json');
 | 
						|
 | 
						|
Cypress.Commands.add('clientLogin', () => {
 | 
						|
    cy.visit('/client/login');
 | 
						|
    cy.get('#test_email')
 | 
						|
        .invoke('val')
 | 
						|
        .then((emailValue) => {
 | 
						|
            cy.get('#test_password')
 | 
						|
                .invoke('val')
 | 
						|
                .then((passwordValue) => {
 | 
						|
                    cy.get('#email')
 | 
						|
                        .type(emailValue)
 | 
						|
                        .should('have.value', emailValue);
 | 
						|
                    cy.get('#password')
 | 
						|
                        .type(passwordValue)
 | 
						|
                        .should('have.value', passwordValue);
 | 
						|
                    cy.get('#loginBtn')
 | 
						|
                        .contains('Login')
 | 
						|
                        .click();
 | 
						|
                });
 | 
						|
        });
 | 
						|
});
 | 
						|
 | 
						|
Cypress.Commands.add('iframeLoaded', {prevSubject: 'element'}, ($iframe) => {
 | 
						|
    const contentWindow = $iframe.prop('contentWindow');
 | 
						|
    return new Promise((resolve) => {
 | 
						|
        if (contentWindow) {
 | 
						|
            resolve(contentWindow);
 | 
						|
        } else {
 | 
						|
            $iframe.on('load', () => {
 | 
						|
                resolve(contentWindow);
 | 
						|
            });
 | 
						|
        }
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
Cypress.Commands.add(
 | 
						|
    'getInDocument',
 | 
						|
    {
 | 
						|
        prevSubject:
 | 
						|
            'Permission denied to access property "document" on cross-origin object',
 | 
						|
    },
 | 
						|
    (document, selector) => Cypress.$(selector, document)
 | 
						|
);
 | 
						|
 | 
						|
Cypress.Commands.add('getWithinIframe', (targetElement) =>
 | 
						|
    cy
 | 
						|
        .get('iframe')
 | 
						|
        .iframeLoaded()
 | 
						|
        .its('document')
 | 
						|
        .getInDocument(targetElement)
 | 
						|
);
 | 
						|
 | 
						|
Cypress.Commands.add('useGateway', (gateway) => {
 | 
						|
    let body = {
 | 
						|
        settings: {
 | 
						|
            entity: 'App\\Models\\Client',
 | 
						|
            industry_id: '',
 | 
						|
            size_id: '',
 | 
						|
            currency_id: '1',
 | 
						|
            company_gateway_ids: gateway,
 | 
						|
        },
 | 
						|
    };
 | 
						|
 | 
						|
    let options = {
 | 
						|
        headers: {
 | 
						|
            'X-Api-Secret': 'superdoopersecrethere',
 | 
						|
            'X-Api-Token':
 | 
						|
                'S0x8behDk8HG8PI0i8RXdpf2AVud5b993pE8vata7xmm4RgW6u3NeGC8ibWIUjZv',
 | 
						|
            'X-Requested-With': 'XMLHttpRequest',
 | 
						|
        },
 | 
						|
    };
 | 
						|
 | 
						|
    axios
 | 
						|
        .put(
 | 
						|
            `http://localhost:8000/api/v1/clients/${fixture.first}`,
 | 
						|
            body,
 | 
						|
            options
 | 
						|
        )
 | 
						|
        .then((response) => console.log(response))
 | 
						|
        .catch((error) => console.log(error.message));
 | 
						|
});
 |