-
-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathintegration.spec.js
40 lines (31 loc) · 1.16 KB
/
integration.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const { httpRequest } = require('./support/request');
const fileName = 'file.txt';
const fileData = 'hello world';
describe_only_parse_server_version('>=7')('Parse Server >=7 integration test', () => {
it('stores a file', async () => {
const base64 = Buffer.from(fileData).toString('base64');
const file = new Parse.File(fileName, { base64 });
await file.save();
expect(file).toBeDefined();
expect(file.url()).toMatch(/file.txt$/);
});
it('reads the contents of a file', async () => {
const base64 = Buffer.from(fileData).toString('base64');
const file = new Parse.File(fileName, { base64 });
await file.save();
const fileLink = file.url();
const response = await httpRequest(fileLink);
const text = response.toString();
expect(text).toBe(fileData);
});
it('deletes a file', async () => {
const base64 = Buffer.from(fileData).toString('base64');
const file = new Parse.File(fileName, { base64 });
await file.save();
const fileLink = file.url();
await file.destroy();
await expectAsync(httpRequest(fileLink)).toBeRejectedWithError(
'Request failed with status code 404'
);
});
});