Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test(cy): refactor to use aliases
Signed-off-by: Max <[email protected]>
  • Loading branch information
max-nextcloud authored and juliusknorr committed Apr 4, 2024
commit 8bc94439ab3ed42059f172a4f430cfffee653cc8
122 changes: 60 additions & 62 deletions cypress/e2e/api/UsersApi.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,74 +33,72 @@ describe('The user mention API', function() {
cy.prepareWindowForSessionApi()
})

let fileId
let requesttoken

beforeEach(function() {
cy.login(user)
cy.prepareSessionApi().then((token) => {
requesttoken = token
cy.uploadTestFile('test.md')
.then(id => {
fileId = id
})
})
cy.uploadTestFile('test.md').as('fileId')
.then(cy.createTextSession).as('connection')
cy.getRequestToken().as('requesttoken')
})

afterEach(function() {
cy.get('@connection').then(c => c.closed || c.close())
})

it('has a valid connection', function() {
cy.get('@connection')
.its('document.id')
.should('equal', this.fileId)
})

it('fetches users with valid session', function() {
cy.createTextSession(fileId).then(connection => {
cy.wrap(connection)
.its('document.id')
.should('equal', fileId)

const requestData = {
method: 'POST',
url: '/apps/text/api/v1/users',
body: {
documentId: connection.document.id,
sessionId: connection.session.id,
sessionToken: connection.session.token,
requesttoken,
},
failOnStatusCode: false,
const body = {
documentId: this.connection.document.id,
sessionId: this.connection.session.id,
sessionToken: this.connection.session.token,
requesttoken: this.requesttoken,
}
const requestData = {
method: 'POST',
url: '/apps/text/api/v1/users',
body,
failOnStatusCode: false,
}
const invalidRequestData = { ...requestData }

cy.request(requestData).then(({ status }) => {
expect(status).to.eq(200)

invalidRequestData.body = {
...requestData.body,
sessionToken: 'invalid',
}
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)
invalidRequestData.body = {
...requestData.body,
sessionId: 0,
}
const invalidRequestData = { ...requestData }

cy.request(requestData).then(({ status }) => {
expect(status).to.eq(200)

invalidRequestData.body = {
...requestData.body,
sessionToken: 'invalid',
}
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)
invalidRequestData.body = {
...requestData.body,
sessionId: 0,
}
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)

invalidRequestData.body = {
...requestData.body,
documentId: 0,
}
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)
})

cy.wrap(null).then(() => connection.close())

cy.request(requestData).then(({ status, body }) => {
expect(status).to.eq(403)
})
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)

invalidRequestData.body = {
...requestData.body,
documentId: 0,
}
})

cy.request(invalidRequestData).then(({ status }) => {
expect(status).to.eq(403)
})

cy.then(() => this.connection.close())

cy.request(requestData).then(({ status, body }) => {
expect(status).to.eq(403)
})
})
})