public async Task ShouldRestoreRecipeCorrectly()
        {
            var request = new RestoreRecipe
            {
                EntityId = Guid.Parse("21552e39-3c5a-42e6-a116-e9f54643e57c")
            };
            var handler = new RestoreRecipeHandler(_eventStore.Object, MockBuilder.BuildFakeRecipeEventsMapper(), MockBuilder.BuildFakeDateTimeService(), MockBuilder.BuildFakeCurrentUserService());

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

            var expected = new RecipeRestored
            {
                EntityId  = Guid.Parse("21552e39-3c5a-42e6-a116-e9f54643e57c"),
                Published = new DateTime(2010, 1, 1),
                AuthorId  = "edb4a387-260e-43c1-aed8-eec4dbd0fc31"
            };

            _eventStore.Verify(x => x.AddEvent(It.Is <RecipeRestored>(y => y.WithDeepEqual(expected).Compare())));
        }
        public void Does_Map_Restore_Recipe_Work_Correctly()
        {
            var entityId = Guid.Parse("6f9d8b35-481a-4bb4-ad69-44cf00e55717");
            var dto      = new RestoreRecipe
            {
                EntityId = entityId
            };
            var userId   = "7f7dfc41-3b52-4c43-aef9-b82099a7beb2";
            var date     = new DateTime(2020, 10, 10, 5, 2, 1);
            var expected = new RecipeRestored
            {
                AuthorId  = userId,
                Published = date,
                EntityId  = entityId,
            };

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

            result.Should().BeEquivalentTo(expected);
        }