fix router tests and create seaparate package ui-tests

This commit is contained in:
Sebastian Sdorra
2019-10-10 15:05:17 +02:00
parent 72afcf0f23
commit 9d50ed05e1
19 changed files with 109 additions and 75 deletions

View File

@@ -2,8 +2,8 @@
import React from "react";
import { shallow } from "enzyme";
import "../../../tests/enzyme";
import "../../../tests/i18n";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import EditGroupNavLink from "./EditGroupNavLink";
it("should render nothing, if the edit link is missing", () => {

View File

@@ -1,12 +1,11 @@
import React from "react";
import { shallow, mount } from "enzyme";
import "../../tests/enzyme";
import "../../tests/i18n";
import ReactRouterEnzymeContext from "react-router-enzyme-context";
import { shallow, mount } from "@scm-manager/ui-tests/enzyme-router";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import EditRepoNavLink from "./EditRepoNavLink";
describe("GeneralNavLink", () => {
const options = new ReactRouterEnzymeContext();
it("should render nothing, if the modify link is missing", () => {
const repository = {
@@ -14,8 +13,7 @@ describe("GeneralNavLink", () => {
};
const navLink = shallow(
<EditRepoNavLink repository={repository} editUrl="" />,
options.get()
<EditRepoNavLink repository={repository} editUrl="" />
);
expect(navLink.text()).toBe("");
});
@@ -30,8 +28,7 @@ describe("GeneralNavLink", () => {
};
const navLink = mount(
<EditRepoNavLink repository={repository} editUrl="" />,
options.get()
<EditRepoNavLink repository={repository} editUrl="" />
);
expect(navLink.text()).toBe("repositoryRoot.menu.generalNavLink");
});

View File

@@ -1,7 +1,6 @@
import React from "react";
import { mount, shallow } from "enzyme";
import "../../tests/enzyme";
import "../../tests/i18n";
import {mount, shallow } from "@scm-manager/ui-tests/enzyme-router";
import "@scm-manager/ui-tests/i18n";
import ReactRouterEnzymeContext from "react-router-enzyme-context";
import PermissionsNavLink from "./PermissionsNavLink";

View File

@@ -1,13 +1,12 @@
// @flow
import React from "react";
import { shallow, mount } from "enzyme";
import "../../tests/enzyme";
import "../../tests/i18n";
import ReactRouterEnzymeContext from "react-router-enzyme-context";
import { shallow, mount } from "@scm-manager/ui-tests/enzyme-router";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import RepositoryNavLink from "./RepositoryNavLink";
describe("RepositoryNavLink", () => {
const options = new ReactRouterEnzymeContext();
it("should render nothing, if the sources link is missing", () => {
const repository = {
@@ -24,8 +23,7 @@ describe("RepositoryNavLink", () => {
to="/sources"
label="Sources"
activeOnlyWhenExact={true}
/>,
options.get()
/>
);
expect(navLink.text()).toBe("");
});
@@ -49,8 +47,7 @@ describe("RepositoryNavLink", () => {
to="/sources"
label="Sources"
activeOnlyWhenExact={true}
/>,
options.get()
/>
);
expect(navLink.text()).toBe("Sources");
});

View File

@@ -1,18 +1,16 @@
import React from "react";
import { mount, shallow } from "enzyme";
import "../../../../tests/enzyme";
import "../../../../tests/i18n";
import { shallow, mount } from "@scm-manager/ui-tests/enzyme-router";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import DeletePermissionButton from "./DeletePermissionButton";
import { confirmAlert } from "@scm-manager/ui-components";
import ReactRouterEnzymeContext from "react-router-enzyme-context";
jest.mock("@scm-manager/ui-components", () => ({
confirmAlert: jest.fn(),
DeleteButton: require.requireActual("@scm-manager/ui-components").DeleteButton
}));
describe("DeletePermissionButton", () => {
const options = new ReactRouterEnzymeContext();
it("should render nothing, if the delete link is missing", () => {
const permission = {
@@ -23,8 +21,7 @@ describe("DeletePermissionButton", () => {
<DeletePermissionButton
permission={permission}
deletePermission={() => {}}
/>,
options.get()
/>
);
expect(navLink.text()).toBe("");
});
@@ -42,8 +39,7 @@ describe("DeletePermissionButton", () => {
<DeletePermissionButton
permission={permission}
deletePermission={() => {}}
/>,
options.get()
/>
);
expect(deleteIcon.html()).not.toBe("");
});
@@ -61,8 +57,7 @@ describe("DeletePermissionButton", () => {
<DeletePermissionButton
permission={permission}
deletePermission={() => {}}
/>,
options.get()
/>
);
button.find(".fa-trash").simulate("click");
@@ -88,8 +83,7 @@ describe("DeletePermissionButton", () => {
permission={permission}
confirmDialog={false}
deletePermission={capture}
/>,
options.get()
/>
);
button.find(".fa-trash").simulate("click");

View File

@@ -1,12 +0,0 @@
import "raf/polyfill";
import { configure } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
// Temporary hack to suppress error
// https://github.com/facebook/create-react-app/issues/3199#issuecomment-345024029
window.requestAnimationFrame = function(callback) {
setTimeout(callback, 0);
return 0;
};
configure({ adapter: new Adapter() });

View File

@@ -1,7 +0,0 @@
jest.mock("react-i18next", () => ({
// this mock makes sure any components using the translate HoC receive the t function as a prop
translate: () => Component => {
Component.defaultProps = { ...Component.defaultProps, t: key => key };
return Component;
}
}));

View File

@@ -1,7 +1,7 @@
import React from "react";
import { shallow } from "enzyme";
import "../../../tests/enzyme";
import "../../../tests/i18n";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import EditUserNavLink from "./EditUserNavLink";
it("should render nothing, if the edit link is missing", () => {

View File

@@ -1,7 +1,7 @@
import React from "react";
import { shallow } from "enzyme";
import "../../../tests/enzyme";
import "../../../tests/i18n";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import ChangePasswordNavLink from "./SetPasswordNavLink";
it("should render nothing, if the password link is missing", () => {

View File

@@ -1,7 +1,7 @@
import React from "react";
import { shallow } from "enzyme";
import "../../../tests/enzyme";
import "../../../tests/i18n";
import "@scm-manager/ui-tests/enzyme";
import "@scm-manager/ui-tests/i18n";
import SetPermissionsNavLink from "./SetPermissionsNavLink";
it("should render nothing, if the permissions link is missing", () => {