Exemplo n.º 1
0
        public async Task On_Create_Should_Throw_FailedToCreateException_When_Exception_Received()
        {
            // Given:
            var todoItem = new Todo()
            {
                Id        = 0,
                Name      = "Water plants",
                Completed = false
            };

            // And:
            var commandRepository = new Mock <ITodoCommandRepository>();

            commandRepository
            .Setup(r => r.CreateTodoAsync(It.IsAny <Todo>()))
            .ThrowsAsync(new NullReferenceException("Problem with database!"));

            // And:
            var sut = new DefaultTodoService(commandRepository.Object, null);

            // When:
            var func = new Func <Task>(async() => { await sut.CreateTodoAsync(todoItem); });

            // Then:
            var exception = await Assert.ThrowsAsync <FailedToCreateTodoException>(func);

            Assert.Equal("Problem with database!", exception.Message);
        }
Exemplo n.º 2
0
        public async Task On_Create_Should_Return_Todo_When_Successful()
        {
            // Given:
            var todoItem = new Todo()
            {
                Id        = 0,
                Name      = "Water plants",
                Completed = false
            };

            // And:
            var commandRepository = new Mock <ITodoCommandRepository>();

            commandRepository
            .Setup(r => r.CreateTodoAsync(It.IsAny <Todo>()))
            .ReturnsAsync(todoItem);

            // And:
            var sut = new DefaultTodoService(commandRepository.Object, null);

            // When:
            var result = await sut.CreateTodoAsync(todoItem);

            // Then:
            Assert.Equal("Water plants", result.Name);
            Assert.Equal(false, result.Completed);
        }