diff --git a/src/common-components/text-block/text-block.spec.js b/src/common-components/text-block/text-block.spec.js
new file mode 100644
index 00000000..3cd22944
--- /dev/null
+++ b/src/common-components/text-block/text-block.spec.js
@@ -0,0 +1,59 @@
+import { shallowMount } from "@vue/test-utils";
+import TextBlock from "./text-block";
+
+describe("modal.vue", () => {
+ it("Should display 'Text' when 'Text' is defined in the CMS", async () => {
+ // Act
+ const wrapper = shallowMount(TextBlock, {
+ mixins: [mockMixin],
+ });
+ expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent["Text"]));
+ });
+
+ it("Should contain the typeStyle class as defined by the prop", async () => {
+ // Act
+ const wrapper = shallowMount(TextBlock, {
+ mixins: [mockMixin],
+ propsData: mockProps,
+ });
+ expect(wrapper.html()).toEqual(expect.stringContaining(mockProps["typeStyle"]));
+ });
+ it("Should contain the justifyText class as defined by the prop", async () => {
+ // Act
+ const wrapper = shallowMount(TextBlock, {
+ mixins: [mockMixin],
+ propsData: mockProps,
+ });
+ expect(wrapper.html()).toEqual(expect.stringContaining(mockProps["justifyText"]));
+ });
+ it("Should contain the fontWeight class as defined by the prop", async () => {
+ // Act
+ const wrapper = shallowMount(TextBlock, {
+ mixins: [mockMixin],
+ propsData: mockProps,
+ });
+ expect(wrapper.html()).toEqual(expect.stringContaining(mockProps["fontWeight"]));
+ });
+});
+
+///////////////
+// Constants //
+///////////////
+
+const mockMixin = {
+ methods: {
+ getCmsContent: jest.fn((widgetName, cmsFieldName) => {
+ return mockCmsContent[cmsFieldName];
+ }),
+ },
+};
+
+const mockProps = {
+ fontWeight: "mockFontWeight",
+ typeStyle: "mockTypeStyle",
+ justifyText: "mockJustifyText",
+};
+
+const mockCmsContent = {
+ Text: "Sample text here.",
+};
diff --git a/src/common-components/text-block/text-block.vue b/src/common-components/text-block/text-block.vue
new file mode 100644
index 00000000..a12d3f39
--- /dev/null
+++ b/src/common-components/text-block/text-block.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+