mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 21:28:21 -05:00 
			
		
		
		
	- Added: iframeLoaded method for Cypress - Fixed: saving payment method id for CreditCard.php - Added: chromeWebSecurity: false flag for insecure iframe connections - Formatted: payment_methods/index - Formatted: payment-methods-table.blade.php - Added: Test for adding credit card to Stripe - Fixed: Removing client gateway tokens
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.3 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) => { ... })
 | 
						|
 | 
						|
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)
 | 
						|
);
 |