public void FinishTodo_AddsEvent() { var user = new User() { Events = new List <BaseEvent>(), UserTodos = new List <TodoItem>() { new TodoItem() { Completed = false, Description = "desc", Id = 1, TargetDate = DateTime.Now, FinishTime = null, } } }; _ctx.Configure().GetUserById(1).Returns(user); _userService.MarkAsCompleted(1, DateTime.Now, 1); Assert.Single(user.Events); Assert.Single(user.Events.OfType <TodoCompletedEvent>()); var @event = user.Events.OfType <TodoCompletedEvent>().Single(); Assert.Equal(user.UserTodos.Single(), @event.CompletedItem); Assert.Equal(DateTime.Now.Date, @event.Date.Date); Assert.False(@event.Hidden); }