mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-15 20:17:22 +00:00
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { createApp, registries } from "../../src";
|
|
import { em, entity, text } from "../../src/data";
|
|
import { StorageLocalAdapter } from "../../src/media/storage/adapters/StorageLocalAdapter";
|
|
import { AppMedia } from "../../src/modules";
|
|
import { moduleTestSuite } from "./module-test-suite";
|
|
|
|
describe("AppMedia", () => {
|
|
moduleTestSuite(AppMedia);
|
|
|
|
test("should allow additional fields", async () => {
|
|
registries.media.register("local", StorageLocalAdapter);
|
|
|
|
const app = createApp({
|
|
initialConfig: {
|
|
media: {
|
|
entity_name: "media",
|
|
enabled: true,
|
|
adapter: {
|
|
type: "local",
|
|
config: {
|
|
path: "./"
|
|
}
|
|
}
|
|
},
|
|
data: em({
|
|
media: entity("media", {
|
|
additional: text()
|
|
})
|
|
}).toJSON()
|
|
}
|
|
});
|
|
|
|
await app.build();
|
|
|
|
const e = app.modules.em.entity("media");
|
|
const fields = e.fields.map((f) => f.name);
|
|
expect(e.type).toBe("system");
|
|
expect(fields).toContain("additional");
|
|
expect(fields).toEqual([
|
|
"id",
|
|
"additional",
|
|
"path",
|
|
"folder",
|
|
"mime_type",
|
|
"size",
|
|
"scope",
|
|
"etag",
|
|
"modified_at",
|
|
"reference",
|
|
"entity_id",
|
|
"metadata"
|
|
]);
|
|
});
|
|
});
|