♻️Added one more testcase
This commit is contained in:
committed by
ericlinagora
parent
f228e07373
commit
14864ab60c
@@ -28,7 +28,7 @@ export type DriveItemDetails = {
|
|||||||
export type BrowseDetails = DriveItemDetails & { nextPage: Paginable };
|
export type BrowseDetails = DriveItemDetails & { nextPage: Paginable };
|
||||||
|
|
||||||
export type DriveFileAccessLevel = "read" | "write" | "manage";
|
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 RootType = "root";
|
||||||
export type TrashType = "trash";
|
export type TrashType = "trash";
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
} from "./entities/mock_entities";
|
} from "./entities/mock_entities";
|
||||||
import { logger } from "../../../src/core/platform/framework";
|
import { logger } from "../../../src/core/platform/framework";
|
||||||
import { expect } from "@jest/globals";
|
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 { UserQuota } from "../../../src/services/user/web/types";
|
||||||
import { Api } from "../utils.api";
|
import { Api } from "../utils.api";
|
||||||
import { OidcJwtVerifier } from "../../../src/services/console/clients/remote-jwks-verifier";
|
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>) {
|
async getPublicLinkAccessToken(doc: Partial<DriveFile>) {
|
||||||
const accessRes = await this.platform.app.inject({
|
const accessRes = await this.platform.app.inject({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -434,6 +451,7 @@ export default class UserApi {
|
|||||||
expect(response.statusCode).toBe(200);
|
expect(response.statusCode).toBe(200);
|
||||||
const doc = deserialize<DriveItemDetailsMockClass>(DriveItemDetailsMockClass, response.body);
|
const doc = deserialize<DriveItemDetailsMockClass>(DriveItemDetailsMockClass, response.body);
|
||||||
expect(doc.item?.id).toBe(id);
|
expect(doc.item?.id).toBe(id);
|
||||||
|
return doc;
|
||||||
};
|
};
|
||||||
|
|
||||||
async sharedWithMeDocuments(
|
async sharedWithMeDocuments(
|
||||||
|
|||||||
@@ -102,7 +102,28 @@ describe("the Drive's documents' trash feature", () => {
|
|||||||
const deletionToTrashResponse = await currentUser.delete(anonymouslyUploadedDoc.id);
|
const deletionToTrashResponse = await currentUser.delete(anonymouslyUploadedDoc.id);
|
||||||
expect(deletionToTrashResponse.statusCode).toBe(200);
|
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
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user