From 616db70e3efce4f47e0306b2bc795ceb5f1d98ec Mon Sep 17 00:00:00 2001 From: bmauger Date: Sat, 22 Jan 2022 12:07:40 -0500 Subject: [PATCH] CSR-266 add unit tests. --- src/ux-components/text-link/text-link.spec.js | 69 ++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/src/ux-components/text-link/text-link.spec.js b/src/ux-components/text-link/text-link.spec.js index 3d0843e10..4c3458137 100644 --- a/src/ux-components/text-link/text-link.spec.js +++ b/src/ux-components/text-link/text-link.spec.js @@ -1 +1,68 @@ -test.todo("some test to be written in the future"); +import { shallowMount } from "@vue/test-utils"; +import textLink from "./text-link"; +import { nextTick } from "vue"; + +describe("text-link.vue", () => { + + it("Should return text-link type is navigation if prop navigation is true", async () => { + // Act + const wrapper = shallowMount(textLink, { + propsData: { + navigation: true, + }, + }); + + // Assert + const paragraph = wrapper.find("a"); + + // Expect + expect(paragraph.attributes('class')).toContain("navigation-link"); + }); + + it("Should return text-link type is footer if prop footer is true", async () => { + // Act + const wrapper = shallowMount(textLink, { + propsData: { + footer: true, + }, + }); + + // Assert + const paragraph = wrapper.find("a"); + + // Expect + expect(paragraph.attributes('class')).toContain("footer-link"); + }); + + it("Should return text-link type is textSmall if prop textSmall is true", async () => { + // Act + const wrapper = shallowMount(textLink, { + propsData: { + textSmall: true, + }, + }); + + // Assert + const paragraph = wrapper.find("a"); + + // Expect + expect(paragraph.attributes('class')).toContain("small"); + }); + + it("Should return text for href", async () => { + // Act + const wrapper = shallowMount(textLink, { + propsData: { + text: "This is link text" + }, + }); + + // Assert + const paragraph = wrapper.find("a"); + + // Expect + expect(paragraph.text()).toEqual("This is link text"); + + }); + +});