A music player that connects to your cloud/distributed storage. diffuse.sh
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129import { describe, it } from "@std/testing/bdd";import { expect } from "@std/expect";
import { testWeb } from "@tests/common/index.ts";
describe("components/output/bytes/s3", () => { it("ready returns false when no bucket is configured", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output); return output.ready(); });
expect(result).toBe(false); });
it("bucket returns undefined initially", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output); return output.bucket() ?? null; });
expect(result).toBe(null); });
it("getBucket returns undefined when no bucket is stored", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output); return (await output.getBucket()) ?? null; });
expect(result).toBe(null); });
it("setBucket updates the bucket signal", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output);
await output.setBucket({ accessKey: "myKey", secretKey: "mySecret", host: "s3.amazonaws.com", bucketName: "my-bucket", path: "/", region: "us-east-1", });
return output.bucket(); });
expect(result?.bucketName).toBe("my-bucket"); expect(result?.accessKey).toBe("myKey"); });
it("ready returns true after setBucket when online", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output);
await output.setBucket({ accessKey: "myKey", secretKey: "mySecret", host: "s3.amazonaws.com", bucketName: "my-bucket", path: "/", region: "us-east-1", });
// ready = bucket !== undefined && isOnline // isOnline follows navigator.onLine which is true in headless Chromium return output.ready(); });
expect(result).toBe(true); });
it("unsetBucket clears the bucket signal", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output);
await output.setBucket({ accessKey: "myKey", secretKey: "mySecret", host: "s3.amazonaws.com", bucketName: "my-bucket", path: "/", region: "us-east-1", });
await output.unsetBucket(); return output.bucket() ?? null; });
expect(result).toBe(null); });
it("ready returns false after unsetBucket", async () => { const result = await testWeb(async () => { const mod = await import("~/components/output/bytes/s3/element.js"); const output = new mod.CLASS(); document.body.append(output);
await output.setBucket({ accessKey: "myKey", secretKey: "mySecret", host: "s3.amazonaws.com", bucketName: "my-bucket", path: "/", region: "us-east-1", });
await output.unsetBucket(); return output.ready(); });
expect(result).toBe(false); });});