public void Adds_a_new_catch_to_the_read_model() { // Arrange var readModelMock = new Mock <IFishLogReadModel>(); var dbSetMock = new Mock <IDbSet <Catch> >(); var domainRepositoryDummy = new Mock <IDomainRepository>().Object; readModelMock.Setup(m => m.Catches).Returns(dbSetMock.Object); var catchLoggedEvent = new CatchLoggedEvent { Species = "Test", Depth = 10, Length = 100, Latitude = 10, Longitude = 10 }; var denormalizer = new CatchesReadModelDenormalizer(readModelMock.Object, domainRepositoryDummy); // Act denormalizer.Handle(catchLoggedEvent); // Assert dbSetMock.Verify(s => s.Add(It.Is <Catch>(c => c.Species == catchLoggedEvent.Species && c.Length == catchLoggedEvent.Length && c.Depth == catchLoggedEvent.Depth && c.Latitude == catchLoggedEvent.Latitude && c.Longitude == catchLoggedEvent.Longitude)), "The saved catch does not match the catch from the event."); readModelMock.Verify(m => m.SaveChanges(), "The changes were not saved to the read model."); }
/// <summary> /// Handles the <see cref="CatchLoggedEvent"/>. /// </summary> /// <param name="domainEvent">The domain event.</param> public void OnCatchLogged(CatchLoggedEvent domainEvent) { this.Id = domainEvent.AggregateRootId; this.Species = domainEvent.Species; this.Length = domainEvent.Length; this.Depth = domainEvent.Depth; this.Longitude = domainEvent.Longitude; this.Latitude = domainEvent.Latitude; }