Exemple #1
0
        private void OnRecipeRemoved(RecipeRemoved @event)
        {
            var recipe = Recipes.FirstOrDefault(x => x.Id == @event.RecipeId);

            if (recipe != null)
            {
                Recipes.Remove(recipe);
            }
        }
        public void Does_Map_Delete_Work_Correctly()
        {
            var entityId = Guid.Parse("6f9d8b35-481a-4bb4-ad69-44cf00e55717");
            var dto      = new DeleteRecipe(entityId);
            var userId   = "7f7dfc41-3b52-4c43-aef9-b82099a7beb2";
            var date     = new DateTime(2020, 10, 10, 5, 2, 1);
            var expected = new RecipeRemoved
            {
                AuthorId  = userId,
                Published = date,
                EntityId  = entityId,
            };

            var result = _mapper.Map(dto, date, userId);

            result.Should().BeEquivalentTo(expected);
        }
        public async void ShouldDeleteRecipeCorrectly()
        {
            // "62CB0EE2-0CF7-4C72-9C51-80A90E8E420E" - sample recipe id to delete
            var command    = new DeleteRecipe(new Guid("62CB0EE2-0CF7-4C72-9C51-80A90E8E420E"));
            var eventStore = new Mock <IEventStore <Recipe> >();
            var handler    = new DeleteRecipeHandler(eventStore.Object, MockBuilder.BuildFakeRecipeEventsMapper(), MockBuilder.BuildFakeCurrentUserService(), MockBuilder.BuildFakeDateTimeService());

            await handler.Handle(command, CancellationToken.None);

            var expected = new RecipeRemoved
            {
                EntityId  = new Guid("62CB0EE2-0CF7-4C72-9C51-80A90E8E420E"),
                Version   = 0,
                Published = new DateTime(2010, 1, 1),
                AuthorId  = "9E09950B-47DE-4BAB-AA79-C29414312ECB"
            };

            eventStore.Verify(x => x.AddEvent(It.Is <RecipeRemoved>(y => y.WithDeepEqual(expected).Compare())));
        }
Exemple #4
0
 internal void Handle(RecipeRemoved @event) => _periodOperations.Process(@event);
 internal void Process(RecipeRemoved @event) => _allOperations.Remove(@event.OperationId.Value);
 public Task Handle(RecipeRemoved @event, CancellationToken cancellationToken)
 {
     return(RemoveOperation(PeriodId.From(@event.AggregateId), @event.OperationId));
 }