public async Task WhenLifeCycleStageWasRemoved() { var projection = new PublicServiceLifeCycleListProjections(); var resolver = ConcurrentResolve.WhenEqualToHandlerMessageType(projection.Handlers); var stageWasAddedToLifeCycle = _fixture.Create <StageWasAddedToLifeCycle>(); var lifeCycleStageWasRemoved = new LifeCycleStageWasRemoved( new PublicServiceId(stageWasAddedToLifeCycle.PublicServiceId), LifeCycleStageId.FromNumber(stageWasAddedToLifeCycle.LifeCycleStageId)); await new ConnectedProjectionScenario <BackofficeContext>(resolver) .Given( new Envelope <StageWasAddedToLifeCycle>(new Envelope(stageWasAddedToLifeCycle, new Dictionary <string, object>())), new Envelope <LifeCycleStageWasRemoved>(new Envelope(lifeCycleStageWasRemoved, new Dictionary <string, object>()))) .Verify(async context => { var publicService = await context.PublicServiceLifeCycleList.FirstOrDefaultAsync(a => a.PublicServiceId == stageWasAddedToLifeCycle.PublicServiceId && a.LifeCycleStageId == stageWasAddedToLifeCycle.LifeCycleStageId); publicService.Should().BeNull(); return(VerificationResult.Pass()); }) .Assert(); }
private void When(LifeCycleStageWasRemoved @event) { _lifeCycle.Route(@event); }
private void When(LifeCycleStageWasRemoved @event) { _lifeCycleStagePeriods.Remove(@event.LifeCycleStageId); }