|
|
@ -1,3 +1,4 @@ |
|
|
|
|
|
|
|
import { setTimeout as wait } from "timers/promises"; |
|
|
|
import { Test, TestingModule } from '@nestjs/testing'; |
|
|
|
import { Test, TestingModule } from '@nestjs/testing'; |
|
|
|
import { INestApplication } from '@nestjs/common'; |
|
|
|
import { INestApplication } from '@nestjs/common'; |
|
|
|
import * as request from 'supertest'; |
|
|
|
import * as request from 'supertest'; |
|
|
@ -15,10 +16,29 @@ describe('AppController (e2e)', () => { |
|
|
|
await app.init(); |
|
|
|
await app.init(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('/hello-world (GET)', () => { |
|
|
|
afterEach(async () => { |
|
|
|
return request(app.getHttpServer()) |
|
|
|
await app.close(); |
|
|
|
.get('/hello-world') |
|
|
|
}) |
|
|
|
.expect(200) |
|
|
|
|
|
|
|
.expect('Hello World!'); |
|
|
|
it('stores a job for suricrasia.online and completes it', async () => { |
|
|
|
}); |
|
|
|
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() |
|
|
|
|
|
|
|
}, 10000); |
|
|
|
}); |
|
|
|
}); |
|
|
|