mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 09:53:31 -05: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')
 | 
						|
  })
 | 
						|
})
 |