diff --git a/tests/unit/campaignService.spec.js b/tests/unit/campaignService.spec.js index 5f0ec0f..88e11c6 100644 --- a/tests/unit/campaignService.spec.js +++ b/tests/unit/campaignService.spec.js @@ -111,6 +111,14 @@ describe('CampaignService', function() { expect(campaign.isValid()).toEqual(false); expect(campaign.validationError.length).toEqual(1); }); + + it('may start and end on the same date', function() { + var campaign = baseCampaign.clone(); + + campaign.set('endDate', campaign.get('startDate')); + + expect(campaign.isValid()).toEqual(true); + }); }); describe('name', function() { diff --git a/types/campaign.js b/types/campaign.js index 578aafa..825d6f8 100644 --- a/types/campaign.js +++ b/types/campaign.js @@ -36,19 +36,19 @@ var Campaign = Backbone.Model.extend({ // combined date if (attrs.startDate && attrs.endDate) { - if (parseInt(attrs.startDate) >= parseInt(attrs.endDate)) { + if (parseInt(attrs.startDate) > parseInt(attrs.endDate)) { validationErrors.push(new Error('start date must be before end date')); } } if (attrs.startDate && !attrs.endDate) { - if (parseInt(attrs.startDate) >= parseInt(now.format('YYYYMMDD'))) { + if (parseInt(attrs.startDate) > parseInt(now.format('YYYYMMDD'))) { validationErrors.push(new Error('start date must be before end date')); } } if (!attrs.startDate && attrs.endDate) { - if (parseInt(now.format('YYYYMMDD')) >= parseInt(attrs.endDate)) { + if (parseInt(now.format('YYYYMMDD')) > parseInt(attrs.endDate)) { validationErrors.push(new Error('end date must be after start date')); } }