mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 09:46:16 +01:00
128 lines
4.1 KiB
JavaScript
128 lines
4.1 KiB
JavaScript
/*
|
|
* MIT License
|
|
*
|
|
* Copyright (c) 2020-present Cloudogu GmbH and Contributors
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in all
|
|
* copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
* SOFTWARE.
|
|
*/
|
|
/// <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) {
|
|
cy.log('Skipping test on CircleCI')
|
|
|
|
return
|
|
}
|
|
|
|
// cy.exec problem on Shippable CI
|
|
// https://github.com/cypress-io/cypress/issues/6718
|
|
const isShippable = Cypress.platform === 'linux' && Cypress.env('shippable')
|
|
|
|
if (isShippable) {
|
|
cy.log('Skipping test on ShippableCI')
|
|
|
|
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,
|
|
onBeforeScreenshot () { },
|
|
onAfterScreenshot () { },
|
|
})
|
|
})
|
|
})
|
|
|
|
it('cy.wrap() - wrap an object', () => {
|
|
// https://on.cypress.io/wrap
|
|
cy.wrap({ foo: 'bar' })
|
|
.should('have.property', 'foo')
|
|
.and('include', 'bar')
|
|
})
|
|
})
|