mirror of
https://github.com/cypress-io/cypress.git
synced 2026-05-03 13:30:26 -05:00
1f28650d68
* hacky way to update snapshots * new hack to update snapshots * trying again * hacky fix * ci: snapshots * ci: snapshots * snapshots * mas updates * update spec API * fix test * fix test * update * update test * fix test * update plugin * update spec * webpack optinos * Update launchpad tests * fix screenshot paths * updated snapshot * change pattern * guard * fix smoke test * patch code coverage * update percy config * fix specs * try updating example project * update snapshots * remove old test * remove snapshot hack * add back appveyor * remove old code * update snapshot * Fix tests * wip * revert snapshot * reverted all snaps * remove only * remove commnet * remove old code * reverted file * lint * revert video compression spec * update snapshot * update spec path logic * update snap * updated snap * snaps * snaps * fix spec * rename ignoreTestFiles to ignoreSpecPattern * update screenshot dir for runner-ct * update deprecations * update * upate * fix test * update snaps * update snap * updating snap * added missing snaps * updated cypress run mode integration spec * electron snapshot * update default * rename integration->e2e * rename integration->e2e in packages * spec.ts -> cy.ts * spec.ts -> cy.ts * _spec.js -> .cy.js * .spec.js -> .cy.js * .spec.js -> .cy.js * update config * update config * update * update spec ext * update config * update config * ensure newly scaffold specs are cached * fix launchpad spec * types * update test * transpile based on spec pattern * add back example * remove unnecessary async and nodeVersion * spec.tsx -> cy.tsx * update stop-only config * exclude CT from E2E * removed old test * update spec pattern in angular * update spec pattern in design system * update all specs npm npm/react * update spec name * update spec patterns * remove old script * update tests path * update config * fix test * update snapshots * update examples * update ignore patterns * update snapshots * unit tests * update tests * patch code coverage * revert spec name * rename a lot of speces * update * update spec ext * update spec * update spec * update spec ext * update lint * update rules * update lint * snaps * update spec dir * update paths * remove unused pluginsfile config opt * update smoke test * update create cypress tests * update gitignore * update types * update paths * update spe * update test * update all snaps * update tests * update http request spec * update spec file names * snaps * update snaps * updated snaps * update snaps * spacing * spacing * spacing * spacing * fix perf spec * update * update * revert * update * snaps * snaps * rename spec * update snaps * snapshots * update tests * update tests * update * fix * update test projects * update * updating * update run-ct test * update spec pattern and add defensive check around platform * fix system test script * update snap * snaps * update test * update spe * update for FF * ff * remove unused feature flag * added tests * fix react example * update test * update config * update test projects * update snapshots * correctly remove private prefix on darwin * fix types * rename integration -> e2e * update config * updatec onfig * fixing app scaffold integration tests * remove code * exclude e2e specs from CT * update snapshot * integration->e2e * update path for test file in ts project * update schematic * use updated branch for CI * update config * update config * revert some changes * remove built code * revert changes * update gitignore * include test spec * update scaffold script * wip: renames * script * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * mass rename * rename * rename * fix angular * update spec in create cypress tests * remove old file * fix tests * access specPattern in a more idiomatic fashion * do not duplicate variable * pass correct params to findSpec in files controller * add comment explaining spec finding * remove reference to old file that no longer exist * resolve conflicts * fix types * transpile cypress dir * update circle ymlg * update spec pattern for example project * supportFile: false * fix circle yml * update test glob * rename some specs to use correct .cy ext * more ext renames * rename spec * update extensions * update extensions * update specs Co-authored-by: estrada9166 <estrada9166@hotmail.com> Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
163 lines
4.0 KiB
JavaScript
163 lines
4.0 KiB
JavaScript
const systemTests = require('../lib/system-tests').default
|
|
const { stripIndent } = require('common-tags')
|
|
const bodyParser = require('body-parser')
|
|
|
|
const onServer = function (app) {
|
|
app.use(bodyParser.json({ extended: false }))
|
|
|
|
app.get('/get-json', (req, res) => {
|
|
return res.json([1, 2, 3])
|
|
})
|
|
|
|
app.get('/get-text', (req, res) => {
|
|
return res.send('pong')
|
|
})
|
|
|
|
app.post('/add', (req, res) => {
|
|
if (req.body.method !== 'add') {
|
|
throw new Error('wrong body method')
|
|
}
|
|
|
|
return res.json({ answer: req.body.a + req.body.b })
|
|
})
|
|
|
|
// page posts a JSON object
|
|
app.get('/addition', (req, res) => {
|
|
return res.send(stripIndent`
|
|
<body>
|
|
<div id="result"></div>
|
|
<script>
|
|
const data = {
|
|
method: 'add',
|
|
a: 2,
|
|
b: 15
|
|
}
|
|
fetch('/add', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(data)
|
|
}).then((response) => {
|
|
if (!response) {
|
|
throw new Error('no response')
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error('response is not ok')
|
|
}
|
|
return response.json()
|
|
}).then(j => {
|
|
// either answer from the server
|
|
// or from the network stub
|
|
if (j.answer !== 17 && j.answer !== 193) {
|
|
throw new Error('wrong answer')
|
|
}
|
|
document.getElementById('result').innerText = 'answer: ' + j.answer
|
|
})
|
|
</script>
|
|
</body>
|
|
`)
|
|
})
|
|
|
|
// page fetches JSON array
|
|
app.get('/first', (req, res) => {
|
|
return res.send(stripIndent`
|
|
<body>
|
|
<script>
|
|
fetch('/get-json')
|
|
.then((response) => {
|
|
if (!response) {
|
|
throw new Error('no response')
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error('response is not ok')
|
|
}
|
|
return response.json()
|
|
})
|
|
.then((list) => {
|
|
if (list.length !== 3) {
|
|
throw new Error('Wrong number of items')
|
|
}
|
|
if (list[0] !== 1) {
|
|
throw new Error('Wrong first item')
|
|
}
|
|
if (list[1] !== 2) {
|
|
throw new Error('Wrong second item')
|
|
}
|
|
if (list[2] !== 3) {
|
|
throw new Error('Wrong third item')
|
|
}
|
|
})
|
|
</script>
|
|
<a href="/second">second</a>
|
|
</body>
|
|
`)
|
|
})
|
|
|
|
// page fetches text
|
|
app.get('/second', (req, res) => {
|
|
return res.send(stripIndent`
|
|
<body>
|
|
<div id="result"></div>
|
|
<script>
|
|
fetch('/get-text')
|
|
.then((response) => {
|
|
if (!response) {
|
|
throw new Error('no response')
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error('response is not ok')
|
|
}
|
|
if (response.status !== 200) {
|
|
throw new Error('response status not 200')
|
|
}
|
|
return response.text()
|
|
})
|
|
.then((text) => {
|
|
// allow response from the server
|
|
// or stub response
|
|
if (text !== 'pong' && text !== 'mock pong') {
|
|
throw new Error('Wrong text response')
|
|
}
|
|
document.getElementById('result').innerText = 'text: ' + text
|
|
})
|
|
</script>
|
|
</body>
|
|
`)
|
|
})
|
|
}
|
|
|
|
describe('e2e fetch polyfill', () => {
|
|
systemTests.setup({
|
|
servers: {
|
|
port: 1818,
|
|
onServer,
|
|
},
|
|
})
|
|
|
|
systemTests.it('passes', {
|
|
spec: 'fetch.cy.js',
|
|
snapshot: false,
|
|
config: {
|
|
experimentalFetchPolyfill: true,
|
|
},
|
|
})
|
|
})
|
|
|
|
describe('e2e no fetch polyfill', () => {
|
|
systemTests.setup({
|
|
servers: {
|
|
port: 1818,
|
|
onServer,
|
|
},
|
|
})
|
|
|
|
systemTests.it('passes', {
|
|
spec: 'fetch_no_polyfill.cy.js',
|
|
snapshot: false,
|
|
config: {
|
|
experimentalFetchPolyfill: false,
|
|
},
|
|
})
|
|
})
|