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', () => {