diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2015-09-30 17:03:30 +0200 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2015-10-02 10:57:25 +0200 |
commit | ca6967452abc33d6d38e08e0745b9797d7d7ae0f (patch) | |
tree | 7411fe23e8ba39bbd271047f112b45ba5f73fe48 /server/sonar-web/tests/apps | |
parent | 6f9c9fed1844ef459493e099fdf3277ff362e1dc (diff) | |
download | sonarqube-ca6967452abc33d6d38e08e0745b9797d7d7ae0f.tar.gz sonarqube-ca6967452abc33d6d38e08e0745b9797d7d7ae0f.zip |
SONAR-6834 add search form
Diffstat (limited to 'server/sonar-web/tests/apps')
-rw-r--r-- | server/sonar-web/tests/apps/background-tasks-test.js | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/server/sonar-web/tests/apps/background-tasks-test.js b/server/sonar-web/tests/apps/background-tasks-test.js index d9588cc26ab..a5501a5ec0a 100644 --- a/server/sonar-web/tests/apps/background-tasks-test.js +++ b/server/sonar-web/tests/apps/background-tasks-test.js @@ -1,10 +1,14 @@ import React from 'react/addons'; import App from '../../src/main/js/apps/background-tasks/app'; import Header from '../../src/main/js/apps/background-tasks/header'; -import {STATUSES, CURRENTS} from '../../src/main/js/apps/background-tasks/constants'; +import Search from '../../src/main/js/apps/background-tasks/search'; +import {STATUSES, CURRENTS, DEBOUNCE_DELAY} from '../../src/main/js/apps/background-tasks/constants'; let TestUtils = React.addons.TestUtils; -let expect = require('chai').expect; +let chai = require('chai'); +let expect = chai.expect; +let sinon = require('sinon'); +chai.use(require('sinon-chai')); describe('Background Tasks', function () { describe('App', () => { @@ -32,4 +36,43 @@ describe('Background Tasks', function () { expect(header.length).to.equal(1); }); }); + + describe('Search', () => { + it('should render search form', () => { + let spy = sinon.spy(); + let component = TestUtils.renderIntoDocument(<Search options={{}} + onStatusChange={spy} + onCurrentsChange={spy} + onDateChange={spy}/>), + searchBox = TestUtils.scryRenderedDOMComponentsWithClass(component, 'search-box'); + expect(searchBox).to.have.length(1); + }); + + it('should not render search form', () => { + let spy = sinon.spy(); + let component = TestUtils.renderIntoDocument(<Search options={{ componentId: 'ABCD' }} + onStatusChange={spy} + onCurrentsChange={spy} + onDateChange={spy}/>), + searchBox = TestUtils.scryRenderedDOMComponentsWithClass(component, 'search-box'); + expect(searchBox).to.be.empty; + }); + + it('should search', (done) => { + let spy = sinon.spy(), + searchSpy = sinon.spy(); + let component = TestUtils.renderIntoDocument(<Search options={{}} + onStatusChange={spy} + onCurrentsChange={spy} + onDateChange={spy} + onSearch={searchSpy}/>); + let searchInput = React.findDOMNode(TestUtils.findRenderedDOMComponentWithClass(component, 'search-box-input')); + searchInput.value = 'some search query'; + TestUtils.Simulate.change(searchInput); + setTimeout(() => { + expect(searchSpy).to.have.been.calledWith('some search query'); + done(); + }, DEBOUNCE_DELAY); + }); + }); }); |