mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-30 22:37:29 -04:00 
			
		
		
		
	* Install Cypress * Fix npm vulnerabilities * scaffold cypress * ignore local tests * login page test * invoices tests * recurring invoices * payments tests * payment methods tests * update invoices & quotes * credits tests
		
			
				
	
	
		
			93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
			Vendored
		
	
	
	
| /// <reference types="cypress" />
 | |
| 
 | |
| context('Misc', () => {
 | |
|   beforeEach(() => {
 | |
|     cy.visit('https://example.cypress.io/commands/misc')
 | |
|   })
 | |
| 
 | |
|   it('.end() - end the command chain', () => {
 | |
|     // https://on.cypress.io/end
 | |
| 
 | |
|     // cy.end is useful when you want to end a chain of commands
 | |
|     // and force Cypress to re-query from the root element
 | |
|     cy.get('.misc-table').within(() => {
 | |
|       // ends the current chain and yields null
 | |
|       cy.contains('Cheryl').click().end()
 | |
| 
 | |
|       // queries the entire table again
 | |
|       cy.contains('Charles').click()
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   it('cy.exec() - execute a system command', () => {
 | |
|     // execute a system command.
 | |
|     // so you can take actions necessary for
 | |
|     // your test outside the scope of Cypress.
 | |
|     // https://on.cypress.io/exec
 | |
| 
 | |
|     // we can use Cypress.platform string to
 | |
|     // select appropriate command
 | |
|     // https://on.cypress/io/platform
 | |
|     cy.log(`Platform ${Cypress.platform} architecture ${Cypress.arch}`)
 | |
| 
 | |
|     // on CircleCI Windows build machines we have a failure to run bash shell
 | |
|     // https://github.com/cypress-io/cypress/issues/5169
 | |
|     // so skip some of the tests by passing flag "--env circle=true"
 | |
|     const isCircleOnWindows = Cypress.platform === 'win32' && Cypress.env('circle')
 | |
| 
 | |
|     if (isCircleOnWindows) {
 | |
|       return
 | |
|     }
 | |
| 
 | |
|     cy.exec('echo Jane Lane')
 | |
|       .its('stdout').should('contain', 'Jane Lane')
 | |
| 
 | |
|     if (Cypress.platform === 'win32') {
 | |
|       cy.exec('print cypress.json')
 | |
|         .its('stderr').should('be.empty')
 | |
|     } else {
 | |
|       cy.exec('cat cypress.json')
 | |
|         .its('stderr').should('be.empty')
 | |
| 
 | |
|       cy.exec('pwd')
 | |
|         .its('code').should('eq', 0)
 | |
|     }
 | |
|   })
 | |
| 
 | |
|   it('cy.focused() - get the DOM element that has focus', () => {
 | |
|     // https://on.cypress.io/focused
 | |
|     cy.get('.misc-form').find('#name').click()
 | |
|     cy.focused().should('have.id', 'name')
 | |
| 
 | |
|     cy.get('.misc-form').find('#description').click()
 | |
|     cy.focused().should('have.id', 'description')
 | |
|   })
 | |
| 
 | |
|   context('Cypress.Screenshot', function () {
 | |
|     it('cy.screenshot() - take a screenshot', () => {
 | |
|       // https://on.cypress.io/screenshot
 | |
|       cy.screenshot('my-image')
 | |
|     })
 | |
| 
 | |
|     it('Cypress.Screenshot.defaults() - change default config of screenshots', function () {
 | |
|       Cypress.Screenshot.defaults({
 | |
|         blackout: ['.foo'],
 | |
|         capture: 'viewport',
 | |
|         clip: { x: 0, y: 0, width: 200, height: 200 },
 | |
|         scale: false,
 | |
|         disableTimersAndAnimations: true,
 | |
|         screenshotOnRunFailure: true,
 | |
|         beforeScreenshot () { },
 | |
|         afterScreenshot () { },
 | |
|       })
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   it('cy.wrap() - wrap an object', () => {
 | |
|     // https://on.cypress.io/wrap
 | |
|     cy.wrap({ foo: 'bar' })
 | |
|       .should('have.property', 'foo')
 | |
|       .and('include', 'bar')
 | |
|   })
 | |
| })
 |