45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
|
jest.setTimeout(120000);
|
||
|
|
||
|
import { UploadImage, DeleteImage } from "lemmy-js-client";
|
||
|
import { alpha, setupLogins, unfollowRemotes } from "./shared";
|
||
|
import fs = require("fs");
|
||
|
const downloadFileSync = require("download-file-sync");
|
||
|
|
||
|
beforeAll(setupLogins);
|
||
|
|
||
|
afterAll(() => {
|
||
|
unfollowRemotes(alpha);
|
||
|
});
|
||
|
|
||
|
test("Upload image and delete it", async () => {
|
||
|
// upload test image
|
||
|
const upload_image = fs.readFileSync("test.png");
|
||
|
const upload_form: UploadImage = {
|
||
|
image: upload_image,
|
||
|
};
|
||
|
const upload = await alpha.uploadImage(upload_form);
|
||
|
console.log(upload);
|
||
|
expect(upload.files![0].file).toBeDefined();
|
||
|
expect(upload.files![0].delete_token).toBeDefined();
|
||
|
expect(upload.url).toBeDefined();
|
||
|
expect(upload.delete_url).toBeDefined();
|
||
|
|
||
|
// ensure that image download is working. theres probably a better way to do this
|
||
|
const content = downloadFileSync(upload.url);
|
||
|
expect(content.length).toBeGreaterThan(0);
|
||
|
|
||
|
// delete image
|
||
|
const delete_form: DeleteImage = {
|
||
|
token: upload.files![0].delete_token,
|
||
|
filename: upload.files![0].file,
|
||
|
};
|
||
|
const delete_ = await alpha.deleteImage(delete_form);
|
||
|
expect(delete_).toBe(true);
|
||
|
|
||
|
// ensure that image is deleted
|
||
|
const content2 = downloadFileSync(upload.url);
|
||
|
expect(content2).toBe("");
|
||
|
});
|
||
|
|
||
|
// TODO: add tests for image purging
|