I have a api test, where I create something on the beginning, and have to save ID in the variable. Then I run other describes using that variable and it works fine, but there is one describe
that is always executed first, looks like it's executed even before beforeAll
and I don't understand why.
let requestID = null
describe('POST: /:requestorID/requests', () => {
test('Should return request number', async (done) => {
const res = await request
.post('/ticketing-api/v1/requestors/011111/requests')
.field('title', 'Test Ticket Request')
.field('body', 'Test Body Field')
.field('categoryID', 2)
.attach('image', './static/testAtt.jpg')
expect(res.status).toEqual(200)
expect(res).toSatisfyApiSpec()
requestID = res.body.requestID // THIS IS WHERE I SET VARIABLE
done()
})
})
// THIS IS SOME OTHER DESCRIBE THAT USES THAT VARIABLE AND WORKS
describe('GET: /requestors/{requestorID}/requests/{requestID}', function () {
test('Should return single request for requestor', async (done) => {
const res = await request.get(`/ticketing-api/v1/requestors/011111/requests/${requestID}`)
expect(res.status).toEqual(200)
expect(res.body.request.events.length).toEqual(2)
expect(res.body.request.events[0].attachments.length).toEqual(1)
expect(res).toSatisfyApiSpec()
done()
})
})
// THERE IS SOME OTHER DESCRIBES USING THAT VARIABLE AND WORK
// AND THIS ONE NO MATTER WHERE I PUT IT, IT ALWAYS EXECUTES FIRST WITH requestID=null
describe('PUT: /requestors/{requestorID}/requests/{requestID}/status', function () {
console.log(requestID)
test('Should return validation error', async (done) => {
const res = await request.put(`/requestors/011111/requests/${requestID}/status`).send({ status: 'test' })
expect(res.status).toEqual(400)
expect(res).toSatisfyApiSpec()
done()
})
})
Aucun commentaire:
Enregistrer un commentaire