123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- import { shallowMount } from "@vue/test-utils"
- import field from "../Field"
- const gqlField = {
- name: "testField",
- args: [
- {
- name: "arg1",
- type: "Arg1Type",
- },
- {
- name: "arg2",
- type: "Arg2type",
- },
- ],
- type: "FieldType",
- description: "TestDescription",
- }
- const factory = (props) =>
- shallowMount(field, {
- propsData: props,
- stubs: {
- GraphqlTypeLink: {
- template: "<span>Typelink</span>",
- },
- },
- mocks: {
- $t: (text) => text,
- },
- })
- describe("field", () => {
- test("mounts properly if props are given", () => {
- const wrapper = factory({
- gqlField,
- })
- expect(wrapper).toBeTruthy()
- })
- test("field title is set correctly for fields with no args", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- args: undefined,
- },
- })
- expect(
- wrapper
- .find(".field-title")
- .text()
- .replace(/[\r\n]+/g, "")
- .replace(/ +/g, " ")
- ).toEqual("testField : Typelink")
- })
- test("field title is correctly given for fields with single arg", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- args: [
- {
- name: "arg1",
- type: "Arg1Type",
- },
- ],
- },
- })
- expect(
- wrapper
- .find(".field-title")
- .text()
- .replace(/[\r\n]+/g, "")
- .replace(/ +/g, " ")
- ).toEqual("testField ( arg1: Typelink ) : Typelink")
- })
- test("field title is correctly given for fields with multiple args", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- args: [
- {
- name: "arg1",
- type: "Arg1Type",
- },
- ],
- },
- })
- expect(
- wrapper
- .find(".field-title")
- .text()
- .replace(/[\r\n]+/g, "")
- .replace(/ +/g, " ")
- ).toEqual("testField ( arg1: Typelink ) : Typelink")
- })
- test("all typelinks are passed the jump callback", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- args: [
- {
- name: "arg1",
- type: "Arg1Type",
- },
- {
- name: "arg2",
- type: "Arg2Type",
- },
- ],
- },
- })
- expect(
- wrapper
- .find(".field-title")
- .text()
- .replace(/[\r\n]+/g, "")
- .replace(/ +/g, " ")
- ).toEqual("testField ( arg1: Typelink , arg2: Typelink ) : Typelink")
- })
- test("description is rendered when it is present", () => {
- const wrapper = factory({
- gqlField,
- })
- expect(wrapper.find(".field-desc").text()).toEqual("TestDescription")
- })
- test("description not rendered when it is not present", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- description: undefined,
- },
- })
- expect(wrapper.find(".field-desc").exists()).toEqual(false)
- })
- test("deprecation warning is displayed when field is deprecated", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- isDeprecated: true,
- },
- })
- expect(wrapper.find(".field-deprecated").exists()).toEqual(true)
- })
- test("deprecation warning is not displayed wwhen field is not deprecated", () => {
- const wrapper = factory({
- gqlField: {
- ...gqlField,
- isDeprecated: false,
- },
- })
- expect(wrapper.find(".field-deprecated").exists()).toEqual(false)
- })
- })
|