From f7e2898633184981cb4c5e8f2448baebdc652b18 Mon Sep 17 00:00:00 2001 From: Kata Date: Sat, 30 Mar 2019 09:17:11 -0500 Subject: [PATCH] add more tests! --- .../__snapshots__/discord-button.test.js.snap | 11 +++ .../discord-guild-pic.test.js.snap | 91 +++++++++++++++++++ ui/components/__test__/discord-button.test.js | 14 +++ .../__test__/discord-guild-pic.test.js | 33 +++++++ .../role/__snapshots__/Role.test.js.snap | 25 ----- .../role/__snapshots__/demo.test.js.snap | 3 - .../role/{ => __test__}/Role.test.js | 11 ++- .../__test__/__snapshots__/Role.test.js.snap | 64 +++++++++++++ .../__test__/__snapshots__/demo.test.js.snap | 14 +++ .../role/{ => __test__}/demo.test.js | 5 +- ui/components/role/index.js | 8 +- 11 files changed, 241 insertions(+), 38 deletions(-) create mode 100644 ui/components/__test__/__snapshots__/discord-button.test.js.snap create mode 100644 ui/components/__test__/__snapshots__/discord-guild-pic.test.js.snap create mode 100644 ui/components/__test__/discord-button.test.js create mode 100644 ui/components/__test__/discord-guild-pic.test.js delete mode 100644 ui/components/role/__snapshots__/Role.test.js.snap delete mode 100644 ui/components/role/__snapshots__/demo.test.js.snap rename ui/components/role/{ => __test__}/Role.test.js (87%) create mode 100644 ui/components/role/__test__/__snapshots__/Role.test.js.snap create mode 100644 ui/components/role/__test__/__snapshots__/demo.test.js.snap rename ui/components/role/{ => __test__}/demo.test.js (83%) diff --git a/ui/components/__test__/__snapshots__/discord-button.test.js.snap b/ui/components/__test__/__snapshots__/discord-button.test.js.snap new file mode 100644 index 0000000..63a648e --- /dev/null +++ b/ui/components/__test__/__snapshots__/discord-button.test.js.snap @@ -0,0 +1,11 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders correctly 1`] = ` + + +   + Hello! + +`; diff --git a/ui/components/__test__/__snapshots__/discord-guild-pic.test.js.snap b/ui/components/__test__/__snapshots__/discord-guild-pic.test.js.snap new file mode 100644 index 0000000..5ac5bd9 --- /dev/null +++ b/ui/components/__test__/__snapshots__/discord-guild-pic.test.js.snap @@ -0,0 +1,91 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` falls-back to a default when things go bad. 1`] = ` +.c0 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: var(--fallback-color); +} + + + + +
+ M +
+
+
+
+`; + +exports[` renders a snapshot 1`] = ` + + + +`; diff --git a/ui/components/__test__/discord-button.test.js b/ui/components/__test__/discord-button.test.js new file mode 100644 index 0000000..4694908 --- /dev/null +++ b/ui/components/__test__/discord-button.test.js @@ -0,0 +1,14 @@ +/* eslint-env jest */ +import * as React from 'react' +// import renderer from 'react-test-renderer' +import { shallow } from 'enzyme' +import DiscordButton from '../discord-button' +import 'jest-styled-components' + +describe('', () => { + it('renders correctly', () => { + const button = shallow(Hello!) + expect(button).toMatchSnapshot() + expect(button.text().trim()).toEqual('Hello!') + }) +}) diff --git a/ui/components/__test__/discord-guild-pic.test.js b/ui/components/__test__/discord-guild-pic.test.js new file mode 100644 index 0000000..adaa5ac --- /dev/null +++ b/ui/components/__test__/discord-guild-pic.test.js @@ -0,0 +1,33 @@ +/* eslint-env jest */ +import * as React from 'react' +// import renderer from 'react-test-renderer' +import { shallow, mount } from 'enzyme' +import DiscordGuildPic from '../discord-guild-pic' +import 'jest-styled-components' + +describe('', () => { + const mockServer = { + id: '0000', + icon: 'aaa', + name: 'Mock' + } + + it('renders a snapshot', () => { + const pic = mount() + expect(pic).toMatchSnapshot() + }) + + it('renders a well-formatted guild pic correctly', () => { + const pic = shallow() + const expectedSrc = `https://cdn.discordapp.com/icons/${mockServer.id}/${mockServer.icon}.png` + expect(pic.find('img').prop('src')).toEqual(expectedSrc) + }) + + it('falls-back to a default when things go bad.', () => { + const pic = mount() + pic.find('img').simulate('error') + expect(pic).toMatchSnapshot() + + expect(pic.text()).toEqual(mockServer.name[0]) + }) +}) diff --git a/ui/components/role/__snapshots__/Role.test.js.snap b/ui/components/role/__snapshots__/Role.test.js.snap deleted file mode 100644 index 8ca7588..0000000 --- a/ui/components/role/__snapshots__/Role.test.js.snap +++ /dev/null @@ -1,25 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` renders correctly 1`] = ` -
- Test Role -
-`; - -exports[` when disabled, does not trigger onToggle on click 1`] = `"
Test Role
"`; - -exports[` when disabled, handles touch hover events 1`] = `"
unsafe role
This role has unsafe permissions.
"`; diff --git a/ui/components/role/__snapshots__/demo.test.js.snap b/ui/components/role/__snapshots__/demo.test.js.snap deleted file mode 100644 index 52ce11c..0000000 --- a/ui/components/role/__snapshots__/demo.test.js.snap +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` renders 1`] = `"
test demo role
"`; diff --git a/ui/components/role/Role.test.js b/ui/components/role/__test__/Role.test.js similarity index 87% rename from ui/components/role/Role.test.js rename to ui/components/role/__test__/Role.test.js index 29c4d00..4e1def6 100644 --- a/ui/components/role/Role.test.js +++ b/ui/components/role/__test__/Role.test.js @@ -1,13 +1,14 @@ /* eslint-env jest */ import * as React from 'react' -import renderer from 'react-test-renderer' +// import renderer from 'react-test-renderer' import { shallow } from 'enzyme' -import Role from './index' +import Role from '../index' +import 'jest-styled-components' describe('', () => { it('renders correctly', () => { - const role = renderer.create() + const role = shallow() expect(role).toMatchSnapshot() }) @@ -50,7 +51,7 @@ describe('', () => { role.simulate('touchstart') expect(role.state().hovering).toEqual(true) - expect(role.html()).toMatchSnapshot() // expecting tooltip + expect(role).toMatchSnapshot() // expecting tooltip expect(role.exists('tooltip')).toEqual(true) role.simulate('touchend') @@ -67,7 +68,7 @@ describe('', () => { disabled /> ) - expect(role.html()).toMatchSnapshot() + expect(role).toMatchSnapshot() role.simulate('click') expect(role.html()).toBe(role.html()) diff --git a/ui/components/role/__test__/__snapshots__/Role.test.js.snap b/ui/components/role/__test__/__snapshots__/Role.test.js.snap new file mode 100644 index 0000000..ffaaa12 --- /dev/null +++ b/ui/components/role/__test__/__snapshots__/Role.test.js.snap @@ -0,0 +1,64 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders correctly 1`] = ` + + Test Role + +`; + +exports[` when disabled, does not trigger onToggle on click 1`] = ` + + Test Role + +`; + +exports[` when disabled, handles touch hover events 1`] = ` + + unsafe role + + This role has unsafe permissions. + + +`; diff --git a/ui/components/role/__test__/__snapshots__/demo.test.js.snap b/ui/components/role/__test__/__snapshots__/demo.test.js.snap new file mode 100644 index 0000000..e716e20 --- /dev/null +++ b/ui/components/role/__test__/__snapshots__/demo.test.js.snap @@ -0,0 +1,14 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders 1`] = ` + +`; diff --git a/ui/components/role/demo.test.js b/ui/components/role/__test__/demo.test.js similarity index 83% rename from ui/components/role/demo.test.js rename to ui/components/role/__test__/demo.test.js index d49a8fb..31b4390 100644 --- a/ui/components/role/demo.test.js +++ b/ui/components/role/__test__/demo.test.js @@ -1,12 +1,13 @@ /* eslint-env jest */ import * as React from 'react' import { shallow } from 'enzyme' -import RoleDemo from './demo' +import RoleDemo from '../demo' +import 'jest-styled-components' describe('', () => { it('renders', () => { const demo = shallow() - expect(demo.html()).toMatchSnapshot() + expect(demo).toMatchSnapshot() }) it('changes state when clicked', () => { diff --git a/ui/components/role/index.js b/ui/components/role/index.js index d5a312f..c3cd861 100644 --- a/ui/components/role/index.js +++ b/ui/components/role/index.js @@ -4,6 +4,8 @@ import { colors } from '../global-colors' import Color from 'color' import RoleStyled from './role.styled' import Tooltip from '../tooltip' +import logger from '../../../logger' +const log = logger(__filename) const fromColors = (colors) => Object.entries(colors).reduce( (acc, [v, val]) => ({ ...acc, [`--role-color-${v}`]: val }) @@ -43,15 +45,15 @@ export default class Role extends React.Component { } onMouseOver = () => { - console.log('caught hovering') + log.debug('caught hovering') if (this.props.disabled && this.state.hovering === false) { - console.log('set hovering') + log.debug('set hovering') this.setState({ hovering: true }) } } onMouseOut = () => { - console.log('out hovering') + log.debug('out hovering') this.setState({ hovering: false }) }