From 56848400217b3044c0c4afcdd38b2c6a40108bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 10 Jul 2018 16:37:40 +0200 Subject: [PATCH] add tests for view of delete button --- scm-ui/package.json | 5 +- .../users/containers/DeleteUserButton.test.js | 54 +++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 scm-ui/src/users/containers/DeleteUserButton.test.js diff --git a/scm-ui/package.json b/scm-ui/package.json index c91b237aa5..84776009b5 100644 --- a/scm-ui/package.json +++ b/scm-ui/package.json @@ -32,7 +32,10 @@ } }, "devDependencies": { - "prettier": "^1.13.7" + "enzyme": "^3.3.0", + "enzyme-adapter-react-16": "^1.1.1", + "prettier": "^1.13.7", + "react-test-renderer": "^16.4.1" }, "babel": { "presets": [ diff --git a/scm-ui/src/users/containers/DeleteUserButton.test.js b/scm-ui/src/users/containers/DeleteUserButton.test.js new file mode 100644 index 0000000000..efda995c86 --- /dev/null +++ b/scm-ui/src/users/containers/DeleteUserButton.test.js @@ -0,0 +1,54 @@ +import React from 'react'; +import {configure, shallow} from 'enzyme'; +import DeleteUserButton from "./DeleteUserButton"; +import Adapter from 'enzyme-adapter-react-16'; + +import 'raf/polyfill'; + +configure({ adapter: new Adapter() }); + +it('should render nothing, if the delete link is missing', () => { + + const user = { + _links: {} + }; + + const button = shallow(); + expect(button.text()).toBe(""); +}); + +it('should render the button', () => { + + const user = { + _links: { + "delete": { + "href": "/users" + } + } + }; + + const button = shallow(); + expect(button.text()).not.toBe(""); +}); + +it('should call the delete user function with delete url', () => { + + const user = { + _links: { + "delete": { + "href": "/users" + } + } + }; + + let calledUrl = null; + + function capture(url) { + calledUrl = url; + } + + const button = shallow(); + button.simulate("click"); + + expect(calledUrl).toBe("/users"); +});