From fa6dfb0395826041349c604edcbcbaa316fc95d8 Mon Sep 17 00:00:00 2001 From: Shin'ya UEOKA Date: Sun, 6 Oct 2019 12:51:43 +0000 Subject: Add partial blacklist form --- .../components/form/BlacklistForm.test.tsx | 25 ++++++++++++---------- test/shared/settings/Blacklist.test.ts | 17 +++++++++------ 2 files changed, 24 insertions(+), 18 deletions(-) (limited to 'test') diff --git a/test/settings/components/form/BlacklistForm.test.tsx b/test/settings/components/form/BlacklistForm.test.tsx index 2be5d96..7daf513 100644 --- a/test/settings/components/form/BlacklistForm.test.tsx +++ b/test/settings/components/form/BlacklistForm.test.tsx @@ -2,13 +2,16 @@ import React from 'react'; import ReactDOM from 'react-dom'; import ReactTestRenderer from 'react-test-renderer'; import ReactTestUtils from 'react-dom/test-utils'; -import BlacklistForm from 'settings/components/form/BlacklistForm' +import { expect } from 'chai' + +import BlacklistForm from '../../../../src/settings/components/form/BlacklistForm' +import Blacklist from '../../../../src/shared/settings/Blacklist'; describe("settings/form/BlacklistForm", () => { describe('render', () => { it('renders BlacklistForm', () => { let root = ReactTestRenderer.create( - , + , ).root; let children = root.children[0].children; @@ -43,10 +46,10 @@ describe("settings/form/BlacklistForm", () => { it('invokes onChange event on edit', (done) => { ReactTestUtils.act(() => { ReactDOM.render( { - expect(value).to.have.lengthOf(2); - expect(value).to.have.members(['gitter.im', 'www.google.com/maps*']); + let urls = value.items.map(item => item.pattern); + expect(urls).to.have.members(['gitter.im', 'www.google.com/maps*']); done(); }} />, container) @@ -60,10 +63,10 @@ describe("settings/form/BlacklistForm", () => { it('invokes onChange event on delete', (done) => { ReactTestUtils.act(() => { ReactDOM.render( { - expect(value).to.have.lengthOf(1); - expect(value).to.have.members(['www.google.com/maps*']); + let urls = value.items.map(item => item.pattern); + expect(urls).to.have.members(['www.google.com/maps*']); done(); }} />, container) @@ -76,10 +79,10 @@ describe("settings/form/BlacklistForm", () => { it('invokes onChange event on add', (done) => { ReactTestUtils.act(() => { ReactDOM.render( { - expect(value).to.have.lengthOf(2); - expect(value).to.have.members(['*.slack.com', '']); + let urls = value.items.map(item => item.pattern); + expect(urls).to.have.members(['*.slack.com', '']); done(); }} />, container); diff --git a/test/shared/settings/Blacklist.test.ts b/test/shared/settings/Blacklist.test.ts index e7e1855..133112c 100644 --- a/test/shared/settings/Blacklist.test.ts +++ b/test/shared/settings/Blacklist.test.ts @@ -1,5 +1,6 @@ import Blacklist, { BlacklistItem } from '../../../src/shared/settings/Blacklist'; import { expect } from 'chai'; +import Key from '../../../src/shared/settings/Key'; describe('BlacklistItem', () => { describe('#fromJSON', () => { @@ -82,11 +83,13 @@ describe('BlacklistItem', () => { describe('#includesPartialKeys', () => { it('matches with partial keys', () => { - let item = BlacklistItem.fromJSON({url: 'google.com', keys: ['j', 'k']}); + let item = BlacklistItem.fromJSON({url: 'google.com', keys: ['j', 'k', '']}); - expect(item.includeKey(new URL('http://google.com/maps'), 'j')).to.be.true; - expect(item.includeKey(new URL('http://google.com/maps'), 'z')).to.be.false; - expect(item.includeKey(new URL('http://maps.google.com/'), 'j')).to.be.false; + expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('j'))).to.be.true; + expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey(''))).to.be.true; + expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('z'))).to.be.false; + expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('u'))).to.be.false; + expect(item.includeKey(new URL('http://maps.google.com/'), Key.fromMapKey('j'))).to.be.false; }) }); }); @@ -147,9 +150,9 @@ describe('Blacklist', () => { { url: 'github.com', keys: ['j', 'k'] }, ]); - expect(blacklist.includeKey(new URL('https://google.com'), 'j')).to.be.true; - expect(blacklist.includeKey(new URL('https://github.com'), 'j')).to.be.true; - expect(blacklist.includeKey(new URL('https://github.com'), 'a')).to.be.false; + expect(blacklist.includeKey(new URL('https://google.com'), Key.fromMapKey('j'))).to.be.true; + expect(blacklist.includeKey(new URL('https://github.com'), Key.fromMapKey('j'))).to.be.true; + expect(blacklist.includeKey(new URL('https://github.com'), Key.fromMapKey('a'))).to.be.false; }); }); }); -- cgit v1.2.3