UNPKG

many-cloud

Version:

A Node module for abstracting file management and interfacing with a variety of cloud storages.

99 lines (86 loc) 2.9 kB
const Folder = require("../folder"); describe("folder", () => { describe("constructor", () => { describe("when connection type is Box", () => { let folder; beforeEach(() => { let connection = { type: "Box" }; folder = new Folder("root", connection); }); it("sets internal to a BoxFolder", () => { expect(folder.internal).toBeInstanceOf( require("../../integrations/Box/abstractions/folder.js") ); }); }); describe("when connection type is GoogleDrive", () => { let fplder; beforeEach(() => { let connection = { type: "GoogleDrive" }; folder = new Folder("root", connection); }); it("sets internal to a GoogleDriveFolder", () => { expect(folder.internal).toBeInstanceOf( require("../../integrations/GoogleDrive/abstractions/folder.js") ); }); }); describe("when connection type is S3", () => { let folder; beforeEach(() => { let connection = { type: "S3" }; folder = new Folder("root", connection); }); it("sets internal to a S3DriveFolder", () => { expect(folder.internal).toBeInstanceOf( require("../../integrations/S3/abstractions/folder.js") ); }); }); describe("when connection type is AzureFileShare", () => { let folder; beforeEach(async () => { let AzureFileShareIntegration = require("../../integrations/AzureFileShare/index"); let connection = await AzureFileShareIntegration({ account: "1", accountKey: "1", shareURL: "http://example.com/1" }); folder = new Folder("root", connection); }); it("sets internal to a AzureFileShareFolder", () => { expect(folder.internal).toBeInstanceOf( require("../../integrations/AzureFileShare/abstractions/folder.js") ); }); }); describe("when connection type is AzureBlob", () => { let folder; beforeEach(async () => { let AzureBlobIntegration = require("../../integrations/AzureBlob/index"); let connection = await AzureBlobIntegration({ account: "1", accountKey: "1", containerURL: "http://example.com/1" }); folder = new Folder("root", connection); }); it("sets internal to a AzureBlobFolder", () => { expect(folder.internal).toBeInstanceOf( require("../../integrations/AzureBlob/abstractions/folder.js") ); }); }); describe("when connection type is something else", () => { let connection; beforeEach(() => { connection = { type: "idk" }; }); it("throws an error", () => { expect(() => { new Folder("root", connection); }).toThrowErrorMatchingSnapshot(); }); }); }); });