From 8e2a6276366ebbd1047e1f13b778dad291711273 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Wed, 6 Feb 2019 13:41:48 +0100 Subject: [PATCH] fixed tests --- .../src/groups/containers/DeleteGroup.test.js | 34 ++++++++++++------- .../src/repos/containers/DeleteRepo.test.js | 7 ++-- .../src/users/containers/DeleteUser.test.js | 34 ++++++++++++------- 3 files changed, 47 insertions(+), 28 deletions(-) diff --git a/scm-ui/src/groups/containers/DeleteGroup.test.js b/scm-ui/src/groups/containers/DeleteGroup.test.js index 043724d5f7..4c38623604 100644 --- a/scm-ui/src/groups/containers/DeleteGroup.test.js +++ b/scm-ui/src/groups/containers/DeleteGroup.test.js @@ -1,30 +1,41 @@ import React from "react"; -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import ReactRouterEnzymeContext from "react-router-enzyme-context"; +import configureStore from "redux-mock-store"; import "../../tests/enzyme"; import "../../tests/i18n"; import DeleteGroup from "./DeleteGroup"; import { confirmAlert } from "@scm-manager/ui-components"; + jest.mock("@scm-manager/ui-components", () => ({ confirmAlert: jest.fn(), Subtitle: require.requireActual("@scm-manager/ui-components").Subtitle, - DeleteButton: require.requireActual("@scm-manager/ui-components").DeleteButton + DeleteButton: require.requireActual("@scm-manager/ui-components").DeleteButton, + ErrorNotification: ({err}) => err ? err.message : null })); const options = new ReactRouterEnzymeContext(); describe("DeleteGroupNavLink", () => { + + let store; + + beforeEach(() => { + store = configureStore()({}); + }); + it("should render nothing, if the delete link is missing", () => { const group = { _links: {} }; - const navLink = shallow( - {}} /> + const navLink = mount( + , + options.get() ); - expect(navLink.text()).toBe(""); + expect(navLink.text()).toBeNull(); }); it("should render the navLink", () => { @@ -37,7 +48,7 @@ describe("DeleteGroupNavLink", () => { }; const navLink = mount( - {}} />, + , options.get() ); expect(navLink.text()).not.toBe(""); @@ -53,7 +64,7 @@ describe("DeleteGroupNavLink", () => { }; const navLink = mount( - {}} />, + , options.get() ); navLink.find("button").simulate("click"); @@ -70,21 +81,18 @@ describe("DeleteGroupNavLink", () => { } }; - let calledUrl = null; - function capture(group) { - calledUrl = group._links.delete.href; - } + store.dispatch = jest.fn(); const navLink = mount( , options.get() ); navLink.find("button").simulate("click"); - expect(calledUrl).toBe("/groups"); + expect(store.dispatch.mock.calls.length).toBe(1); }); }); diff --git a/scm-ui/src/repos/containers/DeleteRepo.test.js b/scm-ui/src/repos/containers/DeleteRepo.test.js index 5b37e63763..4f3ebd1049 100644 --- a/scm-ui/src/repos/containers/DeleteRepo.test.js +++ b/scm-ui/src/repos/containers/DeleteRepo.test.js @@ -32,7 +32,8 @@ describe("DeleteRepo", () => { }; const navLink = mount( - + , + options.get() ); expect(navLink.text()).toBeNull(); }); @@ -80,6 +81,8 @@ describe("DeleteRepo", () => { } }; + store.dispatch = jest.fn(); + const navLink = mount( { ); navLink.find("button").simulate("click"); - expect(calledUrl).toBe("/repos"); + expect(store.dispatch.mock.calls.length).toBe(1); }); }); diff --git a/scm-ui/src/users/containers/DeleteUser.test.js b/scm-ui/src/users/containers/DeleteUser.test.js index 312efe51d9..57995c7394 100644 --- a/scm-ui/src/users/containers/DeleteUser.test.js +++ b/scm-ui/src/users/containers/DeleteUser.test.js @@ -1,30 +1,41 @@ import React from "react"; -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import ReactRouterEnzymeContext from "react-router-enzyme-context"; +import configureStore from "redux-mock-store"; import "../../tests/enzyme"; import "../../tests/i18n"; import DeleteUser from "./DeleteUser"; import { confirmAlert } from "@scm-manager/ui-components"; + jest.mock("@scm-manager/ui-components", () => ({ confirmAlert: jest.fn(), Subtitle: require.requireActual("@scm-manager/ui-components").Subtitle, - DeleteButton: require.requireActual("@scm-manager/ui-components").DeleteButton + DeleteButton: require.requireActual("@scm-manager/ui-components").DeleteButton, + ErrorNotification: ({err}) => err ? err.message : null })); const options = new ReactRouterEnzymeContext(); describe("DeleteUser", () => { + + let store; + + beforeEach(() => { + store = configureStore()({}); + }); + it("should render nothing, if the delete link is missing", () => { const user = { _links: {} }; - const navLink = shallow( - {}} /> + const navLink = mount( + , + options.get() ); - expect(navLink.text()).toBe(""); + expect(navLink.text()).toBeNull(); }); it("should render the navLink", () => { @@ -37,7 +48,7 @@ describe("DeleteUser", () => { }; const navLink = mount( - {}} />, + , options.get() ); expect(navLink.text()).not.toBe(""); @@ -53,7 +64,7 @@ describe("DeleteUser", () => { }; const navLink = mount( - {}} />, + , options.get() ); navLink.find("button").simulate("click"); @@ -70,21 +81,18 @@ describe("DeleteUser", () => { } }; - let calledUrl = null; - function capture(user) { - calledUrl = user._links.delete.href; - } + store.dispatch = jest.fn(); const navLink = mount( , options.get() ); navLink.find("button").simulate("click"); - expect(calledUrl).toBe("/users"); + expect(store.dispatch.mock.calls.length).toBe(1); }); });