mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-01-23 01:24:09 +00:00
test: make tests order-independent
MariaDB seems to order the returned media objects in a different way, making our tests fail. This refactors the tests to be independent of the order of returned data. Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
parent
c7e77d25a0
commit
9030488025
2 changed files with 35 additions and 17 deletions
|
@ -71,20 +71,29 @@ describe('Me', () => {
|
|||
expect(responseBefore.body).toHaveLength(0);
|
||||
|
||||
const testImage = await fs.readFile('test/public-api/fixtures/test.png');
|
||||
const url0 = await testSetup.mediaService.saveFile(testImage, user, note1);
|
||||
const url1 = await testSetup.mediaService.saveFile(testImage, user, note1);
|
||||
const url2 = await testSetup.mediaService.saveFile(testImage, user, note2);
|
||||
const url3 = await testSetup.mediaService.saveFile(testImage, user, note2);
|
||||
const imageUrls = [];
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note1),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note1),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note2),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note2),
|
||||
);
|
||||
|
||||
const response = await agent
|
||||
.get('/api/private/me/media/')
|
||||
.expect('Content-Type', /json/)
|
||||
.expect(200);
|
||||
expect(response.body).toHaveLength(4);
|
||||
expect(response.body[0].url).toEqual(url0);
|
||||
expect(response.body[1].url).toEqual(url1);
|
||||
expect(response.body[2].url).toEqual(url2);
|
||||
expect(response.body[3].url).toEqual(url3);
|
||||
expect(imageUrls).toContain(response.body[0].url);
|
||||
expect(imageUrls).toContain(response.body[1].url);
|
||||
expect(imageUrls).toContain(response.body[2].url);
|
||||
expect(imageUrls).toContain(response.body[3].url);
|
||||
const mediaUploads = await testSetup.mediaService.listUploadsByUser(user);
|
||||
for (const upload of mediaUploads) {
|
||||
await testSetup.mediaService.deleteFile(upload);
|
||||
|
|
|
@ -202,21 +202,30 @@ describe('Me', () => {
|
|||
expect(response1.body).toHaveLength(0);
|
||||
|
||||
const testImage = await fs.readFile('test/public-api/fixtures/test.png');
|
||||
const url0 = await testSetup.mediaService.saveFile(testImage, user, note1);
|
||||
const url1 = await testSetup.mediaService.saveFile(testImage, user, note1);
|
||||
const url2 = await testSetup.mediaService.saveFile(testImage, user, note2);
|
||||
const url3 = await testSetup.mediaService.saveFile(testImage, user, note2);
|
||||
const imageUrls = [];
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note1),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note1),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note2),
|
||||
);
|
||||
imageUrls.push(
|
||||
await testSetup.mediaService.saveFile(testImage, user, note2),
|
||||
);
|
||||
|
||||
const response = await request(httpServer)
|
||||
.get('/api/v2/me/media/')
|
||||
.expect('Content-Type', /json/)
|
||||
.expect(200);
|
||||
expect(response.body).toHaveLength(4);
|
||||
expect(response.body[0].url).toEqual(url0);
|
||||
expect(response.body[1].url).toEqual(url1);
|
||||
expect(response.body[2].url).toEqual(url2);
|
||||
expect(response.body[3].url).toEqual(url3);
|
||||
for (const fileUrl of [url0, url1, url2, url3]) {
|
||||
expect(imageUrls).toContain(response.body[0].url);
|
||||
expect(imageUrls).toContain(response.body[1].url);
|
||||
expect(imageUrls).toContain(response.body[2].url);
|
||||
expect(imageUrls).toContain(response.body[3].url);
|
||||
for (const fileUrl of imageUrls) {
|
||||
const fileName = fileUrl.replace('/uploads/', '');
|
||||
// delete the file afterwards
|
||||
await fs.unlink(join(uploadPath, fileName));
|
||||
|
|
Loading…
Reference in a new issue