예제 #1
0
        public void Execute_WhenEmptyOrWhitespaceItemDescription_ShouldReturnErrorMessage(string itemDescription)
        {
            //---------------Arrange-------------------
            var expected = new List <string> {
                "ItemDescription cannot be empty or null"
            };
            var presenter   = new PropertyPresenter <CreateTodoOutput, ErrorOutputMessage>();
            var testContext = new CreateTodoUseCaseTestDataBuilder().Build();
            var usecase     = testContext.UseCase;
            var message     = CreateTodoItemMessage(itemDescription);

            //---------------Act-------------------
            usecase.Execute(message, presenter);
            //---------------Assert-------------------
            Assert.AreEqual(expected, presenter.ErrorContent.Errors);
        }
예제 #2
0
        public void Execute_WhenInputMessageContainsValidData_ShouldReturnItemId()
        {
            //---------------Arrange-------------------
            var id          = Guid.NewGuid();
            var expected    = id;
            var presenter   = new PropertyPresenter <CreateTodoOutput, ErrorOutputMessage>();
            var testContext = new CreateTodoUseCaseTestDataBuilder()
                              .WithTodoItemId(id)
                              .Build();
            var usecase = testContext.UseCase;
            var message = CreateTodoItemMessage("stuff to get done!");

            //---------------Act-------------------
            usecase.Execute(message, presenter);
            //---------------Assert-------------------
            AssertCorrectCommentId(presenter, expected);
            testContext.Repository.Received(1).Persist();
        }