feat(core-shared): add cta block
This commit is contained in:
16
packages/core-shared/src/payload/blocks/cta.test.ts
Normal file
16
packages/core-shared/src/payload/blocks/cta.test.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { describe, expect, it } from "vitest";
|
||||||
|
import { cta } from "./cta";
|
||||||
|
|
||||||
|
describe("cta block", () => {
|
||||||
|
it("has slug 'cta'", () => {
|
||||||
|
expect(cta.slug).toBe("cta");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("requires title, buttonLabel, and href", () => {
|
||||||
|
const fieldNames = cta.fields.map((f) => ("name" in f ? f.name : null));
|
||||||
|
expect(fieldNames).toEqual(["title", "buttonLabel", "href"]);
|
||||||
|
cta.fields.forEach((f) => {
|
||||||
|
if ("required" in f) expect(f.required).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
10
packages/core-shared/src/payload/blocks/cta.ts
Normal file
10
packages/core-shared/src/payload/blocks/cta.ts
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import type { Block } from "payload";
|
||||||
|
|
||||||
|
export const cta: Block = {
|
||||||
|
slug: "cta",
|
||||||
|
fields: [
|
||||||
|
{ name: "title", type: "text", required: true },
|
||||||
|
{ name: "buttonLabel", type: "text", required: true },
|
||||||
|
{ name: "href", type: "text", required: true },
|
||||||
|
],
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user