diff options
author | 94117nl <rttededersixtwo@gmail.com> | 2017-08-03 08:25:07 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2017-08-03 09:25:07 -0400 |
commit | ea095d6206ad8bb9b1b1ffbf74584669a24f1ca8 (patch) | |
tree | a18650bc5e447f1c5c2ea040857ec7a9d3c57550 /webapp/tests/components/integrations | |
parent | b54d1342990253d3fe4a00c64df27cdd1bb0719b (diff) | |
download | chat-ea095d6206ad8bb9b1b1ffbf74584669a24f1ca8.tar.gz chat-ea095d6206ad8bb9b1b1ffbf74584669a24f1ca8.tar.bz2 chat-ea095d6206ad8bb9b1b1ffbf74584669a24f1ca8.zip |
GH-6452 Migrate installed_command.jsx to be pure and use Redux (#6903)
* Migrate installed_command.jsx to be pure and use Redux
* Add test for InstalledCommand component
* Fix failing test and typo
* Whoops. Revert back deleted filter
* Add filter test
* Remove commands related code from /stores/integration_store.jsx
Diffstat (limited to 'webapp/tests/components/integrations')
-rw-r--r-- | webapp/tests/components/integrations/__snapshots__/installed_command.test.jsx.snap | 103 | ||||
-rw-r--r-- | webapp/tests/components/integrations/installed_command.test.jsx | 83 |
2 files changed, 186 insertions, 0 deletions
diff --git a/webapp/tests/components/integrations/__snapshots__/installed_command.test.jsx.snap b/webapp/tests/components/integrations/__snapshots__/installed_command.test.jsx.snap new file mode 100644 index 000000000..910b35e25 --- /dev/null +++ b/webapp/tests/components/integrations/__snapshots__/installed_command.test.jsx.snap @@ -0,0 +1,103 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`components/integrations/InstalledCommand should filter out command 1`] = `null`; + +exports[`components/integrations/InstalledCommand should match snapshot 1`] = ` +<div + className="backstage-list__item" +> + <div + className="item-details" + > + <div + className="item-details__row" + > + <span + className="item-details__name" + > + test + </span> + <span + className="item-details__trigger" + > + - /trigger test + </span> + </div> + <div + className="item-details__row" + > + <span + className="item-details__description" + > + test + </span> + </div> + <div + className="item-details__row" + > + <span + className="item-details__token" + > + <FormattedMessage + defaultMessage="Token: {token}" + id="installed_integrations.token" + values={ + Object { + "token": "testToken", + } + } + /> + </span> + </div> + <div + className="item-details__row" + > + <span + className="item-details__creation" + > + <FormattedMessage + defaultMessage="Created by {creator} on {createAt, date, full}" + id="installed_integrations.creation" + values={ + Object { + "createAt": "1499722850203", + "creator": "test", + } + } + /> + </span> + </div> + </div> + <div + className="item-actions" + > + <a + href="#" + onClick={[Function]} + > + <FormattedMessage + defaultMessage="Regenerate Token" + id="installed_integrations.regenToken" + values={Object {}} + /> + </a> + - + <Link + onlyActiveOnIndex={false} + style={Object {}} + to="/test/integrations/commands/edit?id=r5tpgt4iepf45jt768jz84djic" + > + <FormattedMessage + defaultMessage="Edit" + id="installed_integrations.edit" + values={Object {}} + /> + </Link> + - + <DeleteIntegration + messageId="installed_commands.delete.confirm" + onDelete={[Function]} + /> + </div> +</div> +`; diff --git a/webapp/tests/components/integrations/installed_command.test.jsx b/webapp/tests/components/integrations/installed_command.test.jsx new file mode 100644 index 000000000..b38d04754 --- /dev/null +++ b/webapp/tests/components/integrations/installed_command.test.jsx @@ -0,0 +1,83 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; +import {shallow} from 'enzyme'; + +import InstalledCommand from 'components/integrations/components/installed_command.jsx'; + +describe('components/integrations/InstalledCommand', () => { + const emptyFunction = jest.fn(); + const command = { + id: 'r5tpgt4iepf45jt768jz84djic', + display_name: 'test', + description: 'test', + trigger: 'trigger', + auto_complete: 'test', + auto_complete_hint: 'test', + token: 'testToken', + create_at: '1499722850203' + }; + + test('should match snapshot', () => { + const wrapper = shallow( + <InstalledCommand + team={{ + name: 'test' + }} + command={command} + onRegenToken={emptyFunction} + onDelete={emptyFunction} + filter={'trigger'} + creator={{ + username: 'test' + }} + canChange={true} + /> + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should call onRegenToken function', () => { + const onRegenToken = jest.fn(); + const wrapper = shallow( + <InstalledCommand + team={{ + name: 'test' + }} + command={command} + onRegenToken={onRegenToken} + onDelete={emptyFunction} + filter={''} + creator={{ + username: 'test' + }} + canChange={true} + /> + ); + wrapper.find('div.item-actions a').first().simulate('click', {preventDefault() { + return jest.fn(); + }}); + + expect(onRegenToken).toBeCalled(); + }); + + test('should filter out command', () => { + const wrapper = shallow( + <InstalledCommand + team={{ + name: 'test' + }} + command={command} + onRegenToken={emptyFunction} + onDelete={emptyFunction} + filter={'filter'} + creator={{ + username: 'test' + }} + canChange={true} + /> + ); + expect(wrapper).toMatchSnapshot(); + }); +}); |