|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
import { setTimeout as wait } from "timers/promises"; |
|
|
|
|
import { setTimeout as wait } from 'timers/promises'; |
|
|
|
|
import { Test, TestingModule } from '@nestjs/testing'; |
|
|
|
|
import { INestApplication } from '@nestjs/common'; |
|
|
|
|
import * as request from 'supertest'; |
|
|
|
@ -18,27 +18,29 @@ describe('AppController (e2e)', () => { |
|
|
|
|
|
|
|
|
|
afterEach(async () => { |
|
|
|
|
await app.close(); |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('stores a job for suricrasia.online and completes it', async () => { |
|
|
|
|
const supertest = request(app.getHttpServer()) |
|
|
|
|
const supertest = request(app.getHttpServer()); |
|
|
|
|
|
|
|
|
|
const jobCreateResponse = await supertest |
|
|
|
|
.post('/screenshots') |
|
|
|
|
.send({ pageUrl: 'https://suricrasia.online', imageType: 'png' }) |
|
|
|
|
|
|
|
|
|
expect(jobCreateResponse.status).toEqual(201) |
|
|
|
|
expect(jobCreateResponse.body.jobId).toBeDefined() |
|
|
|
|
const jobId = jobCreateResponse.body.jobId |
|
|
|
|
await wait(5000) |
|
|
|
|
|
|
|
|
|
const jobStatusResponse = await supertest.get(`/screenshots/${jobId}`) |
|
|
|
|
expect(jobStatusResponse.status).toEqual(200) |
|
|
|
|
expect(jobStatusResponse.body.status).toBeDefined() |
|
|
|
|
expect(jobStatusResponse.body.status).toEqual('completed') |
|
|
|
|
|
|
|
|
|
const jobResultResponse = await supertest.get(`/screenshots/${jobId}/result`) |
|
|
|
|
expect(jobResultResponse.status).toEqual(200) |
|
|
|
|
expect(jobResultResponse.body).toMatchImageSnapshot() |
|
|
|
|
.send({ pageUrl: 'https://suricrasia.online', imageType: 'png' }); |
|
|
|
|
|
|
|
|
|
expect(jobCreateResponse.status).toEqual(201); |
|
|
|
|
expect(jobCreateResponse.body.jobId).toBeDefined(); |
|
|
|
|
const jobId = jobCreateResponse.body.jobId; |
|
|
|
|
await wait(5000); |
|
|
|
|
|
|
|
|
|
const jobStatusResponse = await supertest.get(`/screenshots/${jobId}`); |
|
|
|
|
expect(jobStatusResponse.status).toEqual(200); |
|
|
|
|
expect(jobStatusResponse.body.status).toBeDefined(); |
|
|
|
|
expect(jobStatusResponse.body.status).toEqual('completed'); |
|
|
|
|
|
|
|
|
|
const jobResultResponse = await supertest.get( |
|
|
|
|
`/screenshots/${jobId}/result`, |
|
|
|
|
); |
|
|
|
|
expect(jobResultResponse.status).toEqual(200); |
|
|
|
|
expect(jobResultResponse.body).toMatchImageSnapshot(); |
|
|
|
|
}, 10000); |
|
|
|
|
}); |
|
|
|
|