mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 04:07:32 -04: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)
 | |
| );
 |