From 58bf5e9f728f6504de206357ef7d711843e452c2 Mon Sep 17 00:00:00 2001 From: Philip Wood Date: Mon, 28 Jan 2019 18:47:52 +0000 Subject: [PATCH] Increase test coverage --- .../EnvironmentStateAddedSpecs.cs | 5 ----- .../EnvironmentStateDeletedSpecs.cs | 1 - .../ProjectEvents/ToggleStateAddedSpecs.cs | 19 ++++++++++--------- .../ProjectEvents/ToggleStateChangedSpecs.cs | 10 ++++++++++ .../ProjectEvents/ToggleStateDeletedSpecs.cs | 10 ++++++++++ .../ToggleState/ProjectionBuilderHarness.cs | 5 +++++ 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateAddedSpecs.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateAddedSpecs.cs index 8b54a23..12f8060 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateAddedSpecs.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateAddedSpecs.cs @@ -58,11 +58,6 @@ private void GivenTheProjectAlreadyHasAToggleState() DataFixture.Create()); } - private void GivenTheProjectionStreamVersionIsTheSameAsTheNextEvent() - { - StreamPosition = OriginalProjection.Audit.StreamPosition; - } - private async Task WhenWeHandleAnEnvironmentStateAddedEvent() { Event = new EnvironmentStateAdded( diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateDeletedSpecs.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateDeletedSpecs.cs index 4bdf6a1..633fcc1 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateDeletedSpecs.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/EnvironmentStateDeletedSpecs.cs @@ -11,7 +11,6 @@ namespace Evelyn.Core.Tests.ReadModel.Projections.ToggleState.ProjectEvents using NSubstitute; using TestStack.BDDfy; using Xunit; - using Projections = Evelyn.Core.ReadModel.Projections; public class EnvironmentStateDeletedSpecs : ProjectionBuilderHarness { diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateAddedSpecs.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateAddedSpecs.cs index be44957..41eaf62 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateAddedSpecs.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateAddedSpecs.cs @@ -7,7 +7,6 @@ namespace Evelyn.Core.Tests.ReadModel.Projections.ToggleState.ProjectEvents using FluentAssertions; using TestStack.BDDfy; using Xunit; - using Projections = Evelyn.Core.ReadModel.Projections; public class ToggleStateAddedSpecs : ProjectionBuilderHarness { @@ -21,6 +20,16 @@ public void ProjectionDoesNotExist() .BDDfy(); } + [Fact] + public void ProjectionAlreadyBuilt() + { + this.Given(_ => GivenTheProjectionExists()) + .And(_ => GivenTheProjectionStreamVersionIsTheSameAsTheNextEvent()) + .When(_ => WhenWeHandleAToggleStateAddedEvent()) + .Then(_ => ThenTheStoredProjectionIsUnchanged()) + .BDDfy(); + } + [Fact] public void Nominal() { @@ -37,14 +46,6 @@ protected override async Task HandleEventImplementation() await ProjectionBuilder.Handle(StreamPosition, Event, StoppingToken); } - private void GivenTheProjectionHasStateForAnotherEnvironment() - { - OriginalProjection.ToggleState.AddEnvironmentState( - DataFixture.Create(), - DataFixture.Create(), - DataFixture.Create()); - } - private async Task WhenWeHandleAToggleStateAddedEvent() { Event = DataFixture.Build() diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateChangedSpecs.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateChangedSpecs.cs index f463fcc..4acd3af 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateChangedSpecs.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateChangedSpecs.cs @@ -19,6 +19,16 @@ public void ProjectionDoesNotExist() .BDDfy(); } + [Fact] + public void ProjectionAlreadyBuilt() + { + this.Given(_ => GivenTheProjectionExists()) + .And(_ => GivenTheProjectionStreamVersionIsTheSameAsTheNextEvent()) + .When(_ => WhenWeHandleAToggleStateChangedEvent()) + .Then(_ => ThenTheStoredProjectionIsUnchanged()) + .BDDfy(); + } + [Fact] public void Nominal() { diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateDeletedSpecs.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateDeletedSpecs.cs index 9115f51..7aab4fc 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateDeletedSpecs.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectEvents/ToggleStateDeletedSpecs.cs @@ -21,6 +21,16 @@ public void ProjectionDoesNotExist() .BDDfy(); } + [Fact] + public void ProjectionAlreadyBuilt() + { + this.Given(_ => GivenTheProjectionExists()) + .And(_ => GivenTheProjectionStreamVersionIsTheSameAsTheNextEvent()) + .When(_ => WhenWeHandleAToggleStateDeletedEvent()) + .Then(_ => ThenTheStoredProjectionIsUnchanged()) + .BDDfy(); + } + [Fact] public void MultipleToggleStatesExist() { diff --git a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectionBuilderHarness.cs b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectionBuilderHarness.cs index 401f7e6..eaa3256 100644 --- a/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectionBuilderHarness.cs +++ b/src/Evelyn.Core.Tests/ReadModel/Projections/ToggleState/ProjectionBuilderHarness.cs @@ -53,5 +53,10 @@ protected void GivenTheProjectionHasStateForOurEnvironment() EnvironmentKey, DataFixture.Create()); } + + protected void GivenTheProjectionStreamVersionIsTheSameAsTheNextEvent() + { + StreamPosition = OriginalProjection.Audit.StreamPosition; + } } }