+
+
+`;
+
+exports[`DisplaySocial Preview renders correctly with no username 1`] = `null`;
+
+exports[`DisplayWork Preview renders correctly 1`] = `
+
+`;
+
+exports[`DisplayWork Preview renders correctly with no link 1`] = `
+
+ [object Object]
+
+ readme-generator
+
+
+`;
+
+exports[`DisplayWork Preview renders correctly with no prefix 1`] = `null`;
+
+exports[`DisplayWork Preview renders correctly with no prefix and link 1`] = `null`;
+
+exports[`DisplayWork Preview renders correctly with no prefix, link and project 1`] = `null`;
+
+exports[`DisplayWork Preview renders correctly with no project 1`] = `
+
+`;
+
+exports[`DisplayWork Preview renders correctly with no project and link 1`] = `null`;
+
+exports[`DisplayWork Preview renders correctly with no project and prefix 1`] = `null`;
+
+exports[`GitHubStats Preview renders correctly 1`] = `null`;
+
+exports[`GitHubStats Preview renders correctly 2`] = `
+
+

+
+`;
+
+exports[`GithubProfileTrophy Preview renders correctly 1`] = `null`;
+
+exports[`GithubProfileTrophy Preview renders correctly with show true 1`] = `
+
+`;
+
+exports[`Markdown Preview renders correctly 1`] = `
+
+
+ Hi š, I'm dummy
+
+
+ A passionate frontend developer from India
+
+
+
+
+ Connect with me:
+
+
+
+
+
+
+
+
+`;
+
+exports[`SectionTitle Preview renders correctly 1`] = `
+
+ dummy
+
+`;
+
+exports[`SectionTitle Preview renders correctly with no label 1`] = `null`;
+
+exports[`SectionTitle Preview renders correctly with visible false 1`] = `null`;
+
+exports[`Skills Preview renders correctly 1`] = `
+
+
+ Languages and Tools:
+
+
+
+
+
+`;
+
+exports[`Skills Preview renders correctly with no skills 1`] = `""`;
+
+exports[`Social Preview renders correctly 1`] = `
+
+
+ Connect with me:
+
+
+
+
+
+`;
+
+exports[`SubTitle Preview renders correctly 1`] = `
+
+ A passionate frontend developer from India
+
+`;
+
+exports[`SubTitle Preview renders correctly with no subtitle 1`] = `null`;
+
+exports[`Title Preview renders correctly 1`] = `
+
+ Hi š, I'm dummy
+
+`;
+
+exports[`Title Preview renders correctly with no prefix 1`] = `null`;
+
+exports[`Title Preview renders correctly with no title 1`] = `null`;
+
+exports[`Title Preview renders correctly with no title and prefix 1`] = `null`;
+
+exports[`TopLanguages Preview renders correctly 1`] = `
+
+ Ā
+
+`;
+
+exports[`TopLanguages Preview renders correctly with show true 1`] = `
+
+

+
+`;
+
+exports[`TwitterBadgePreview Preview renders correctly 1`] = `null`;
+
+exports[`TwitterBadgePreview Preview renders correctly with show true 1`] = `
+
+`;
+
+exports[`VisitorsBadge Preview renders correctly 1`] = `null`;
+
+exports[`VisitorsBadge Preview renders correctly with show true 1`] = `
+
+
+

+
+
+`;
+
+exports[`Work Preview renders correctly 1`] = `
+
+`;
diff --git a/src/components/__tests__/markdownPreview.test.js b/src/components/__tests__/markdownPreview.test.js
new file mode 100644
index 0000000..ea90cd7
--- /dev/null
+++ b/src/components/__tests__/markdownPreview.test.js
@@ -0,0 +1,447 @@
+import React from "react";
+import renderer from "react-test-renderer";
+
+import MarkdownPreview, { GithubProfileTrophyPreview, GitHubStatsPreview, SkillsPreview, SocialPreview, SubTitlePreview, TitlePreview, TopLanguagesPreview, TwitterBadgePreview, VisitorsBadgePreview, WorkPreview, SectionTitle, DisplayWork, DisplaySocial } from "../markdownPreview"
+
+const DEFAULT_PREFIX = {
+ title: "Hi š, I'm",
+ currentWork: "š Iām currently working on",
+ currentLearn: "š± Iām currently learning",
+ collaborateOn: "šÆ Iām looking to collaborate on",
+ helpWith: "š¤ Iām looking for help with",
+ ama: "š¬ Ask me about",
+ contact: "š« How to reach me",
+ resume: "š Know about my experiences",
+ funFact: "ā” Fun fact",
+ portfolio: "šØāš» All of my projects are available at",
+ blog: "š I regulary write articles on",
+}
+
+const DEFAULT_DATA = {
+ title: "dummy",
+ subtitle: "A passionate frontend developer from India",
+ currentWork: "readme-generator",
+ currentLearn: "",
+ collaborateOn: "",
+ helpWith: "",
+ ama: "",
+ contact: "",
+ funFact: "",
+ twitterBadge: false,
+ visitorsBadge: false,
+ badgeStyle: "flat",
+ badgeColor: "0e75b6",
+ badgeLabel: "Profile views",
+ githubProfileTrophy: false,
+ githubStats: false,
+ githubStatsOptions: {
+ theme: "",
+ titleColor: "",
+ textColor: "",
+ bgColor: "",
+ hideBorder: false,
+ cacheSeconds: null,
+ locale: "en",
+ },
+ topLanguages: false,
+ topLanguagesOptions: {
+ theme: "",
+ titleColor: "",
+ textColor: "",
+ bgColor: "",
+ hideBorder: false,
+ cacheSeconds: null,
+ locale: "en",
+ },
+ devDynamicBlogs: false,
+ mediumDynamicBlogs: false,
+ rssDynamicBlogs: false,
+}
+
+const DEFAULT_LINK = {
+ currentWork: "https://dummy.com",
+ collaborateOn: "",
+ helpWith: "",
+ portfolio: "",
+ blog: "",
+ resume: "",
+}
+
+const DEFAULT_SOCIAL = {
+ github: "",
+ dev: "",
+ linkedin: "",
+ codepen: "dummy",
+ stackoverflow: "",
+ kaggle: "",
+ codesandbox: "",
+ fb: "",
+ instagram: "",
+ twitter: "",
+ dribbble: "",
+ behance: "",
+ medium: "",
+ youtube: "",
+ codechef: "",
+ hackerrank: "",
+ codeforces: "",
+ leetcode: "",
+ topcoder: "",
+ hackerearth: "",
+ geeks_for_geeks: "",
+ discord: "",
+ rssurl: "",
+}
+
+const DUMMY_SKILLS = {
+ skills: {
+ unity: true,
+ android: false,
+ angularjs: false,
+ apachecordova: false,
+ }
+}
+
+describe("Markdown Preview", () => {
+ it("renders correctly", () => {
+ let prefix = DEFAULT_PREFIX;
+ let data = DEFAULT_DATA;
+ let link = DEFAULT_LINK;
+ let social = DEFAULT_SOCIAL;
+ let skills = {}
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("Title Preview", () => {
+ it("renders correctly", () => {
+ let prefix = DEFAULT_PREFIX;
+ let data = DEFAULT_DATA;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no prefix", () => {
+ let prefix = DEFAULT_PREFIX;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no title", () => {
+ let data = DEFAULT_DATA;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no title and prefix", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("SubTitle Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no subtitle", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("SectionTitle Preview", () => {
+ it("renders correctly", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no label", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with visible false", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("DisplayWork Preview", () => {
+ it("renders correctly", () => {
+ let prefix = DEFAULT_PREFIX;
+ let data = DEFAULT_DATA;
+ let link = DEFAULT_LINK;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no prefix, link and project", () => {
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no prefix", () => {
+ let data = DEFAULT_DATA;
+ let link = DEFAULT_LINK;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no project", () => {
+ let prefix = DEFAULT_PREFIX;
+ let link = DEFAULT_LINK;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no link", () => {
+ let prefix = DEFAULT_PREFIX;
+ let data = DEFAULT_DATA;
+ const tree = renderer
+ .create(
)
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no prefix and link", () => {
+ let data = DEFAULT_DATA;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no project and link", () => {
+ let prefix = DEFAULT_PREFIX;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no project and prefix", () => {
+ let link = DEFAULT_LINK;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("DisplaySocial Preview", () => {
+ it("renders correctly", () => {
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create(
+ )
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no username", () => {
+ const tree = renderer
+ .create(
+ )
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("VisitorsBadge Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create(
+ )
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with show true", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create(
+ )
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("GithubProfileTrophy Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with show true", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("TwitterBadgePreview Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with show true", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("Work Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let prefix = DEFAULT_PREFIX;
+ let link = DEFAULT_LINK;
+ let props = { data: data, prefix: prefix, link: link }
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("Social Preview", () => {
+ it("renders correctly", () => {
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("Skills Preview", () => {
+ it("renders correctly", () => {
+ let skills = DUMMY_SKILLS.skills
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with no skills", () => {
+ let skills = {}
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("TopLanguages Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly with show true", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})
+describe("GitHubStats Preview", () => {
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+ it("renders correctly", () => {
+ let data = DEFAULT_DATA;
+ let social = DEFAULT_SOCIAL;
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+})