changed calls to cy.route to cy.intercept (#806)

Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
Philip Molares 2020-11-30 12:31:54 +01:00 committed by GitHub
parent bc7ff07256
commit e0dbb05572
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 87 additions and 49 deletions

View file

@ -1,6 +1,5 @@
{ {
"baseUrl": "http://127.0.0.1:3001/", "baseUrl": "http://127.0.0.1:3001/",
"defaultCommandTimeout": 15000, "defaultCommandTimeout": 15000,
"experimentalFetchPolyfill": true,
"video": false "video": false
} }

View file

@ -24,33 +24,66 @@ describe('History', () => {
}) })
describe('Pinning', () => { describe('Pinning', () => {
beforeEach(() => { describe('working', () => {
cy.route({ beforeEach(() => {
method: 'PUT', cy.intercept('PUT', '/api/v2/history/features', (req) => {
url: '/api/v2/history/**', req.reply(200, req.body)
status: 401, })
response: {} })
it('Cards', () => {
cy.get('div.card')
.should('be.visible')
cy.get('.history-pin.btn')
.first()
.as('pin-button')
cy.get('@pin-button')
.should('not.have.class', 'pinned')
.click()
cy.get('@pin-button')
.should('have.class', 'pinned')
})
it('Table', () => {
cy.get('i.fa-table')
.click()
cy.get('.history-pin.btn')
.first()
.as('pin-button')
cy.get('@pin-button')
.should('not.have.class', 'pinned')
.click()
cy.get('@pin-button')
.should('have.class', 'pinned')
}) })
}) })
it('Cards', () => { describe('failing', () => {
cy.get('div.card') beforeEach(() => {
.should('be.visible') cy.intercept('PUT', '/api/v2/history/features', {
cy.get('.fa-thumb-tack') statusCode: 401
.first() })
.click() })
cy.get('.modal-dialog')
.should('be.visible')
})
it('Table', () => { it('Cards', () => {
cy.get('i.fa-table') cy.get('div.card')
.click() .should('be.visible')
cy.get('.fa-thumb-tack') cy.get('.fa-thumb-tack')
.first() .first()
.click() .click()
cy.get('.modal-dialog') cy.get('.modal-dialog')
.should('be.visible') .should('be.visible')
})
it('Table', () => {
cy.get('i.fa-table')
.click()
cy.get('.fa-thumb-tack')
.first()
.click()
cy.get('.modal-dialog')
.should('be.visible')
})
}) })
}) })
}) })

View file

@ -6,29 +6,32 @@
describe('profile page', () => { describe('profile page', () => {
beforeEach(() => { beforeEach(() => {
cy.route({ cy.intercept({
url: '/api/v2/tokens', url: '/api/v2/tokens',
method: 'GET', method: 'GET'
response: [ }, {
body: [
{ {
label: "cypress-App", label: "cypress-App",
created: 1601991518 created: 1601991518
} }
] ]
}) })
cy.route({ cy.intercept({
url: '/api/v2/tokens', url: '/api/v2/tokens',
method: 'POST', method: 'POST'
response: { }, {
body: {
label: 'cypress', label: 'cypress',
secret: 'c-y-p-r-e-s-s', secret: 'c-y-p-r-e-s-s',
created: Date.now() created: Date.now()
} }
}) })
cy.route({ cy.intercept({
url: '/api/v2/tokens/1601991518', url: '/api/v2/tokens/1601991518',
method: 'DELETE', method: 'DELETE'
response: [] }, {
body: []
}) })
cy.visit('/profile') cy.visit('/profile')
}) })

View file

@ -15,10 +15,9 @@ export const branding = {
} }
beforeEach(() => { beforeEach(() => {
cy.server() cy.intercept('/api/v2/config', {
cy.route({ statusCode: 200,
url: '/api/v2/config', body: {
response: {
allowAnonymous: true, allowAnonymous: true,
authProviders: { authProviders: {
facebook: true, facebook: true,

View file

@ -153,21 +153,25 @@ export const HistoryPage: React.FC = () => {
}) })
}) })
} else if (location === HistoryEntryOrigin.REMOTE) { } else if (location === HistoryEntryOrigin.REMOTE) {
const entry = remoteHistoryEntries.find(entry => entry.id === entryId) const foundEntry = remoteHistoryEntries.find(entry => entry.id === entryId)
if (!entry) { if (!foundEntry) {
setError('notFoundEntry') setError('notFoundEntry')
return return
} }
entry.pinned = !entry.pinned const changedEntry = {
updateHistoryEntry(entryId, entry) ...foundEntry,
.then(() => setRemoteHistoryEntries((entries) => { pinned: !foundEntry.pinned
return entries.map((entry) => { }
if (entry.id === entryId) { updateHistoryEntry(entryId, changedEntry)
entry.pinned = !entry.pinned .then(() => setRemoteHistoryEntries((entries) => (
} entries.map((entry) => {
return entry if (entry.id === entryId) {
}) entry.pinned = !entry.pinned
})) }
return entry
})
)
))
.catch(() => setError('updateEntry')) .catch(() => setError('updateEntry'))
} }
}, [remoteHistoryEntries]) }, [remoteHistoryEntries])