♻️Added one more testcase

This commit is contained in:
Anton SHEPILOV
2024-05-27 17:32:40 +02:00
committed by ericlinagora
parent f228e07373
commit 14864ab60c
3 changed files with 42 additions and 3 deletions
@@ -28,7 +28,7 @@ export type DriveItemDetails = {
export type BrowseDetails = DriveItemDetails & { nextPage: Paginable };
export type DriveFileAccessLevel = "read" | "write" | "manage";
export type publicAccessLevel = "write" | "read" | "none";
export type publicAccessLevel = "write" | "read" | "none" | "manage";
export type RootType = "root";
export type TrashType = "trash";
@@ -18,7 +18,7 @@ import {
} from "./entities/mock_entities";
import { logger } from "../../../src/core/platform/framework";
import { expect } from "@jest/globals";
import { publicAccessLevel } from "../../../src/services/documents/types";
import { DriveFileAccessLevel, publicAccessLevel } from "../../../src/services/documents/types";
import { UserQuota } from "../../../src/services/user/web/types";
import { Api } from "../utils.api";
import { OidcJwtVerifier } from "../../../src/services/console/clients/remote-jwks-verifier";
@@ -285,6 +285,23 @@ export default class UserApi {
});
}
async shareWithPublicLinkWithOkCheck(doc: Partial<DriveFile> & { id: string }, accessLevel: publicAccessLevel) {
const shareResponse = await this.shareWithPublicLink(doc, accessLevel);
expect(shareResponse.statusCode).toBe(200);
return deserialize<DriveFile>(DriveFile, shareResponse.body);
}
async shareWithPermissions(doc: Partial<DriveFile> & { id: string }, toUserId: string, permissions: DriveFileAccessLevel) {
doc.access_info.entities.push({
type: "user",
id: toUserId,
level: permissions,
grantor: null,
});
console.log(`INFO:: ${doc.access_info}`);
return await this.updateDocument(doc.id, doc);
}
async getPublicLinkAccessToken(doc: Partial<DriveFile>) {
const accessRes = await this.platform.app.inject({
method: "POST",
@@ -434,6 +451,7 @@ export default class UserApi {
expect(response.statusCode).toBe(200);
const doc = deserialize<DriveItemDetailsMockClass>(DriveItemDetailsMockClass, response.body);
expect(doc.item?.id).toBe(id);
return doc;
};
async sharedWithMeDocuments(
@@ -102,7 +102,28 @@ describe("the Drive's documents' trash feature", () => {
const deletionToTrashResponse = await currentUser.delete(anonymouslyUploadedDoc.id);
expect(deletionToTrashResponse.statusCode).toBe(200);
expect((await getTrashContentIds()).indexOf(anonymouslyUploadedDoc.id)).toBeGreaterThanOrEqual(0);
expect((await getTrashContentIds())).toContain(anonymouslyUploadedDoc.id);
});
it("If anonymous user deletes the files in should be in the users trash", async () => {
const publiclyWriteableFolder = await currentUser.createDirectory();
const anonymousUser = await UserApi.getInstance(platform);
const setPublicWriteableResponse = await currentUser.shareWithPublicLink(publiclyWriteableFolder, "manage");
expect(setPublicWriteableResponse.statusCode).toBe(200);
anonymousUser.jwt = (await anonymousUser.getPublicLinkAccessToken(publiclyWriteableFolder)).value;
const anonymouslyUploadedDoc = await anonymousUser.uploadRandomFileAndCreateDocument(publiclyWriteableFolder.id);
const deletionToTrashResponse = await anonymousUser.delete(anonymouslyUploadedDoc.id);
expect(deletionToTrashResponse.statusCode).toBe(200);
expect((await getTrashContentIds())).toContain(anonymouslyUploadedDoc.id);
});
it("if another user deletes the files it should be in the users trash", async () => {
//TODO
});
});
});