public PublicServiceWasRenamed( PublicServiceId publicServiceId, PublicServiceName newName) { PublicServiceId = publicServiceId; NewName = newName; }
public Task WhenIpdcCodeWasSet() { var clockProviderStub = new ClockProviderStub(Today); var publicServiceId = new PublicServiceId("DVR000000001"); var publicServiceName = new PublicServiceName("Test"); var events = new object[] { new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new IpdcCodeWasSet(publicServiceId, new IpdcCode("1234")), }; return(new PublicServiceListProjections(clockProviderStub) .Scenario() .Given(events) .Expect(new PublicServiceListItem { Name = publicServiceName, PublicServiceId = publicServiceId, CurrentLifeCycleStageType = null, CurrentLifeCycleStageId = null, CurrentLifeCycleStageEndsAt = null, IpdcCode = "1234" })); }
public void CannotPerformSimpleUpdateOnRemovedPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, PublicServiceName publicServiceRename, ReasonForRemoval reasonForRemoval, OvoNumber ovoNumber, Organisation organisation) { _mocker.MockOrganisationProvider(ovoNumber, organisation); Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new UpdatePublicService(publicServiceId, publicServiceRename, null, false)) .Throws(new CannotPerformActionOnRemovedPublicService())); Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new UpdatePublicService(publicServiceId, publicServiceName, ovoNumber, false)) .Throws(new CannotPerformActionOnRemovedPublicService())); Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new UpdatePublicService(publicServiceId, publicServiceName, null, true)) .Throws(new CannotPerformActionOnRemovedPublicService())); }
public void WithOvoNumberChanged( Fixture fixture, OvoNumber ovoNumber, Organisation organisation, PublicServiceId publicServiceId, PublicServiceName publicServiceName, PrivateZoneId privateZoneId) { _mocker.MockOrganisationProvider(ovoNumber, organisation); var newOvoNumber = fixture.Create <OvoNumber>(); var newOrganisation = fixture.Create <Organisation>(); _mocker.MockOrganisationProvider(newOvoNumber, newOrganisation); Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, privateZoneId), new CompetentAuthorityWasAssigned( publicServiceId, organisation.OvoNumber, organisation.Name, organisation.Provenance)) .When(new UpdatePublicService(publicServiceId, publicServiceName, newOvoNumber, false)) .Then(publicServiceId, new CompetentAuthorityWasAssigned( publicServiceId, newOrganisation.OvoNumber, newOrganisation.Name, newOrganisation.Provenance))); }
public void WithEveryPropertyChanged( OvoNumber ovoNumber, Organisation organisation, PublicServiceId publicServiceId, PublicServiceName publicServiceName, PrivateZoneId privateZoneId) { _mocker.MockOrganisationProvider(ovoNumber, organisation); var newPublicServiceName = new PublicServiceName("Uitreiken identiteitskaart"); Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, privateZoneId)) .When(new UpdatePublicService(publicServiceId, newPublicServiceName, ovoNumber, true)) .Then(publicServiceId, new PublicServiceWasRenamed(publicServiceId, newPublicServiceName), new CompetentAuthorityWasAssigned( publicServiceId, organisation.OvoNumber, organisation.Name, organisation.Provenance), new OrafinExportPropertyWasSet( publicServiceId, true))); }
private void When(PublicServiceWasRegistered @event) { _id = new PublicServiceId(@event.PublicServiceId); _name = new PublicServiceName(@event.Name); _lifeCycle.Route(@event); }
public Task DoesNotClearLifeCycleStageWhenAnotherLifeCycleStageNoLongerOverlapsWithToday() { var clockProviderStub = new ClockProviderStub(Today); var publicServiceId = new PublicServiceId("DVR000000001"); var publicServiceName = new PublicServiceName("Test"); var events = new object[] { new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), LifeCycleStageType.Active, PeriodOverlappingWithToday), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(2), LifeCycleStageType.PhasingOut, PeriodOverlappingWithTomorrow), new PeriodOfLifeCycleStageWasChanged(publicServiceId, LifeCycleStageId.FromNumber(2), PeriodOverlappingWithYesterday), }; return(new PublicServiceListProjections(clockProviderStub) .Scenario() .Given(events) .Expect(new PublicServiceListItem { Name = publicServiceName, PublicServiceId = publicServiceId, CurrentLifeCycleStageType = "Active", CurrentLifeCycleStageId = 1, CurrentLifeCycleStageEndsAt = LocalDate.FromDateTime(Today), })); }
public Task DoesNotSetNextLifeCycleStageWhenDayHasPassedWhenThatLifeCycleStageWasRemoved() { var clockProviderStub = new ClockProviderStub(Today); var publicServiceId = new PublicServiceId("DVR000000001"); var publicServiceName = new PublicServiceName("Test"); var events = new object[] { new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), LifeCycleStageType.Active, PeriodOverlappingWithToday), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(2), LifeCycleStageType.PhasingOut, PeriodOverlappingWithTomorrow), new LifeCycleStageWasRemoved(publicServiceId, LifeCycleStageId.FromNumber(2)), new ClockHasTicked(Tomorrow), }; return(new PublicServiceListProjections(clockProviderStub) .Scenario() .Given(events) .Expect(new PublicServiceListItem { Name = publicServiceName, PublicServiceId = publicServiceId, CurrentLifeCycleStageType = null, CurrentLifeCycleStageId = null, CurrentLifeCycleStageEndsAt = null, })); }
public void Rename(PublicServiceName newName) { EnsureNotRemoved(); if (newName != _name) { ApplyChange(new PublicServiceWasRenamed(_id, newName)); } }
public PublicServiceWasRegistered( PublicServiceId publicServiceId, PublicServiceName name, PrivateZoneId privateZoneId) { PublicServiceId = publicServiceId; Name = name; PrivateZoneId = privateZoneId; }
public RegisterPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, PrivateZoneId privateZoneId) { PublicServiceId = publicServiceId; PublicServiceName = publicServiceName; PrivateZoneId = privateZoneId; }
public static PublicService Register( PublicServiceId id, PublicServiceName name, PrivateZoneId privateZoneId) { var publicService = Factory(); publicService.ApplyChange(new PublicServiceWasRegistered(id, name, privateZoneId)); return(publicService); }
public void WithNullLabels( PublicServiceId publicServiceId, PublicServiceName publicServiceName) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new UpdateLabels(publicServiceId, null)) .ThenNone()); }
public UpdatePublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, OvoNumber ovoNumber, bool isSubsidy) { PublicServiceId = publicServiceId; PublicServiceName = publicServiceName; OvoNumber = ovoNumber; IsSubsidy = isSubsidy; }
public void WithNoLabels( PublicServiceId publicServiceId, PublicServiceName publicServiceName) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new UpdateLabels(publicServiceId, new Dictionary <LabelType, LabelValue>())) .ThenNone()); }
public void CannotRemovePublicServiceOnRemovedPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, ReasonForRemoval reasonForRemoval) { Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new RemovePublicService(publicServiceId, reasonForRemoval).PerformedByAdmin()) .Throws(new CannotPerformActionOnRemovedPublicService())); }
public void NonAdminsCantSetIpdcCode( PublicServiceId publicServiceId, PublicServiceName publicServiceName, IpdcCode ipdcCode) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new SetIpdcCode(publicServiceId, ipdcCode)) .Throws(new InsufficientRights())); }
public void NonAdminsCantSetLegislativeDocumentId( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LegislativeDocumentId legislativeDocumentId) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new SetLegislativeDocumentId(publicServiceId, legislativeDocumentId)) .Throws(new InsufficientRights())); }
public void RegisterWithIdAndName( PublicServiceId publicServiceId, PublicServiceName publicServiceName, PrivateZoneId privateZoneId) { Assert( new Scenario() .Given() .When(new RegisterPublicService(publicServiceId, publicServiceName, privateZoneId)) .Then(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, privateZoneId))); }
public void WithValidData( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LifeCycleStageType lifeCycleStageType, LifeCycleStagePeriod period) { Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new AddStageToLifeCycle(publicServiceId, lifeCycleStageType, period)) .Then(publicServiceId, new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), lifeCycleStageType, period))); }
public void WhenLegislativeDocumentIdHasNotBeenSetBefore( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LegislativeDocumentId legislativeDocumentId) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new SetLegislativeDocumentId(publicServiceId, legislativeDocumentId).PerformedByAdmin()) .Then(publicServiceId, new LegislativeDocumentIdWasSet(publicServiceId, legislativeDocumentId))); }
public void BeheerdersCantRemoveAPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, ReasonForRemoval reasonForRemoval) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new RemovePublicService(publicServiceId, reasonForRemoval).PerformedByBeheerder()) .Throws(new InsufficientRights())); }
public void WhenIpdcCodeHasNotBeenSetBefore( PublicServiceId publicServiceId, PublicServiceName publicServiceName, IpdcCode ipdcCode) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered)) .When(new SetIpdcCode(publicServiceId, ipdcCode).PerformedByAdmin()) .Then(publicServiceId, new IpdcCodeWasSet(publicServiceId, ipdcCode))); }
public void CantSetAnLegislativeDocumentIdOnARemovedPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, ReasonForRemoval reasonForRemoval, LegislativeDocumentId legislativeDocumentId) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new SetLegislativeDocumentId(publicServiceId, legislativeDocumentId).PerformedByAdmin()) .Throws(new CannotPerformActionOnRemovedPublicService())); }
public void CannotRemoveLifeCycleStageOnRemovedPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, ReasonForRemoval reasonForRemoval, LifeCycleStagePeriod period) { Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), LifeCycleStageType.PhasingOut, period), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new RemoveStageFromLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1))) .Throws(new CannotPerformActionOnRemovedPublicService())); }
public void CantRemoveARemovedLifeCycleStage( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LifeCycleStagePeriod period) { Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), LifeCycleStageType.PhasingOut, period), new LifeCycleStageWasRemoved(publicServiceId, LifeCycleStageId.FromNumber(1))) .When(new RemoveStageFromLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1))) .Throws(new LifeCycleStageWithGivenIdNotFound(1))); }
public void CannotSetOnRemovedPublicService( PublicServiceId publicServiceId, PublicServiceName publicServiceName, ReasonForRemoval reasonForRemoval, LifeCycleStageType lifeCycleStageType, LifeCycleStagePeriod period) { Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new PublicServiceWasRemoved(publicServiceId, reasonForRemoval)) .When(new AddStageToLifeCycle(publicServiceId, lifeCycleStageType, period)) .Throws(new CannotPerformActionOnRemovedPublicService())); }
public void WithValidData( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LifeCycleStageType lifeCycleStageType, LifeCycleStagePeriod period, LifeCycleStageId lifeCycleStageLocalId) { Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, lifeCycleStageLocalId, lifeCycleStageType, period)) .When(new ChangePeriodOfLifeCycleStage(publicServiceId, lifeCycleStageLocalId, period)) .Then(publicServiceId, new PeriodOfLifeCycleStageWasChanged(publicServiceId, lifeCycleStageLocalId, period))); }
public void WithNonExistingOvoNumber( OvoNumber ovoNumber, PublicServiceId publicServiceId, PublicServiceName publicServiceName, PrivateZoneId privateZoneId) { _mocker.MockOrganisationProviderFailure(ovoNumber, new GetOrganisationFailed()); Assert( new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, privateZoneId)) .When(new UpdatePublicService(publicServiceId, publicServiceName, ovoNumber, true)) .Throws(new GetOrganisationFailed())); // TODO: this only checks on type. Let's make the Throws method generic? }
public void LifeCycleCannotHaveOverlappingPeriods( PublicServiceId publicServiceId, PublicServiceName publicServiceName, LifeCycleStageType lifeCycleStage1, LifeCycleStageType lifeCycleStage2) { var period1 = new LifeCycleStagePeriod(new ValidFrom(2018, LifeCycleStageId.FromNumber(1), 1), new ValidTo(2020, LifeCycleStageId.FromNumber(1), 1)); var period2 = new LifeCycleStagePeriod(new ValidFrom(2019, LifeCycleStageId.FromNumber(1), 1), new ValidTo(2021, LifeCycleStageId.FromNumber(1), 1)); Assert(new Scenario() .Given(publicServiceId, new PublicServiceWasRegistered(publicServiceId, publicServiceName, PrivateZoneId.Unregistered), new StageWasAddedToLifeCycle(publicServiceId, LifeCycleStageId.FromNumber(1), lifeCycleStage1, period1)) .When(new AddStageToLifeCycle(publicServiceId, lifeCycleStage2, period2)) .Throws(new LifeCycleCannotHaveOverlappingPeriods())); }