diff --git a/src/short-urls/SearchBar.js b/src/short-urls/SearchBar.js index f831b783..71368571 100644 --- a/src/short-urls/SearchBar.js +++ b/src/short-urls/SearchBar.js @@ -38,7 +38,7 @@ const SearchBar = (colorGenerator) => { diff --git a/src/utils/DateRangeRow.js b/src/utils/DateRangeRow.js index 09cd53b1..24f3ed29 100644 --- a/src/utils/DateRangeRow.js +++ b/src/utils/DateRangeRow.js @@ -7,11 +7,11 @@ const dateType = PropTypes.oneOfType([ PropTypes.string, PropTypes.object ]); const propTypes = { startDate: dateType, endDate: dateType, - onStartDateChane: PropTypes.func.isRequired, + onStartDateChange: PropTypes.func.isRequired, onEndDateChange: PropTypes.func.isRequired, }; -const DateRangeRow = ({ startDate, endDate, onStartDateChane, onEndDateChange }) => ( +const DateRangeRow = ({ startDate, endDate, onStartDateChange, onEndDateChange }) => (
diff --git a/src/visits/ShortUrlVisits.js b/src/visits/ShortUrlVisits.js index f1104446..1473ca63 100644 --- a/src/visits/ShortUrlVisits.js +++ b/src/visits/ShortUrlVisits.js @@ -138,7 +138,7 @@ const ShortUrlVisits = ( diff --git a/test/short-urls/SearchBar.test.js b/test/short-urls/SearchBar.test.js index 54bb8781..411e5665 100644 --- a/test/short-urls/SearchBar.test.js +++ b/test/short-urls/SearchBar.test.js @@ -1,8 +1,10 @@ import React from 'react'; import { shallow } from 'enzyme'; +import each from 'jest-each'; import searchBarCreator from '../../src/short-urls/SearchBar'; import SearchField from '../../src/utils/SearchField'; import Tag from '../../src/tags/helpers/Tag'; +import DateRangeRow from '../../src/utils/DateRangeRow'; describe('', () => { let wrapper; @@ -20,6 +22,12 @@ describe('', () => { expect(wrapper.find(SearchField)).toHaveLength(1); }); + it('renders a DateRangeRow', () => { + wrapper = shallow(); + + expect(wrapper.find(DateRangeRow)).toHaveLength(1); + }); + it('renders no tags when the list of tags is empty', () => { wrapper = shallow(); @@ -53,4 +61,13 @@ describe('', () => { tag.simulate('close'); expect(listShortUrlsMock).toHaveBeenCalledTimes(1); }); + + each([ 'startDateChange', 'endDateChange' ]).it('updates short URLs list when date range changes', (event) => { + wrapper = shallow(); + const dateRange = wrapper.find(DateRangeRow); + + expect(listShortUrlsMock).not.toHaveBeenCalled(); + dateRange.simulate(event); + expect(listShortUrlsMock).toHaveBeenCalledTimes(1); + }); }); diff --git a/test/visits/ShortUrlVisits.test.js b/test/visits/ShortUrlVisits.test.js index e7006c75..40d634c5 100644 --- a/test/visits/ShortUrlVisits.test.js +++ b/test/visits/ShortUrlVisits.test.js @@ -5,8 +5,8 @@ import { Card } from 'reactstrap'; import createShortUrlVisits from '../../src/visits/ShortUrlVisits'; import MutedMessage from '../../src/utils/MuttedMessage'; import GraphCard from '../../src/visits/GraphCard'; -import DateInput from '../../src/utils/DateInput'; import SortableBarGraph from '../../src/visits/SortableBarGraph'; +import DateRangeRow from '../../src/utils/DateRangeRow'; describe('', () => { let wrapper; @@ -82,14 +82,15 @@ describe('', () => { it('reloads visits when selected dates change', () => { const wrapper = createComponent({ loading: false, error: false, visits: [{}, {}, {}] }); - const dateInput = wrapper.find(DateInput).first(); + const dateRange = wrapper.find(DateRangeRow); - dateInput.simulate('change', '2016-01-01T00:00:00+01:00'); - dateInput.simulate('change', '2016-01-02T00:00:00+01:00'); - dateInput.simulate('change', '2016-01-03T00:00:00+01:00'); + dateRange.simulate('startDateChange', '2016-01-01T00:00:00+01:00'); + dateRange.simulate('endDateChange', '2016-01-02T00:00:00+01:00'); + dateRange.simulate('endDateChange', '2016-01-03T00:00:00+01:00'); expect(getShortUrlVisitsMock).toHaveBeenCalledTimes(4); - expect(wrapper.state('startDate')).toEqual('2016-01-03T00:00:00+01:00'); + expect(wrapper.state('startDate')).toEqual('2016-01-01T00:00:00+01:00'); + expect(wrapper.state('endDate')).toEqual('2016-01-03T00:00:00+01:00'); }); it('holds the map button content generator on cities graph extraHeaderContent', () => {