Exemplo n.º 1
0
        public async Task PostShouldReturnOkResultWhenResultGreaterThanOne()
        {
            // Arrange
            var model = new Tag();

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.CreateAsync(model).Returns(Task.FromResult(1));

            var controller = new TagsController(fakeSql);

            // Act
            var result = await controller.Post(model);

            // Assert
            var viewResult = Assert.IsType<OkNegotiatedContentResult<Tag>>(result);
            Assert.NotNull(viewResult);
        }
Exemplo n.º 2
0
        public async Task PostShouldReturnBadRequestResultWhenResultLessThanOne()
        {
            // Arrange
            var model = new Tag();

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.CreateAsync(model).Returns(Task.FromResult(0));

            var controller = new TagsController(fakeSql);

            // Act
            var result = await controller.Post(model);

            // Assert
            var viewResult = Assert.IsType<BadRequestResult>(result);
            Assert.NotNull(viewResult);
        }
Exemplo n.º 3
0
        public async Task DeleteShouldReturnOkResultWithModelId()
        {
            // Arrange
            var model = new Tag();

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.DeleteAsync(model).ReturnsForAnyArgs(Task.FromResult(true));

            var controller = new TagsController(fakeSql);

            // Act
            var result = await controller.Delete(1);

            // Assert
            var viewResult = Assert.IsType<OkNegotiatedContentResult<int>>(result);
            Assert.Equal(viewResult.Content, 1);
        }
Exemplo n.º 4
0
        public async Task DeleteShouldReturnBadRequestResultWhenResultFalse()
        {
            // Arrange
            var model = new Tag();

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.DeleteAsync(model).ReturnsForAnyArgs(Task.FromResult(false));

            var controller = new TagsController(fakeSql);

            // Act
            var result = await controller.Delete(1);

            // Assert
            var viewResult = Assert.IsType<BadRequestResult>(result);
            Assert.NotNull(viewResult);
        }
Exemplo n.º 5
0
        public async Task PutShouldReturnReturnOkResultWithModelIdSetToId()
        {
            // Arrange
            var model = new Tag { Id = 1 };

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.UpdateAsync(model).Returns(Task.FromResult(true));

            var controller = new TagsController(fakeSql);

            // Act
            var result = await controller.Put(2, model);

            // Assert
            var viewResult = Assert.IsType<OkNegotiatedContentResult<Tag>>(result);
            Assert.Equal(viewResult.Content.Id, 2);
        }
Exemplo n.º 6
0
        public async Task PutShouldReturnInvalidModelStateResultWhenInvalidModel()
        {
            // Arrange
            var model = new Tag();

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.CreateAsync(model).Returns(Task.FromResult(1));

            var controller = new TagsController(fakeSql)
            {
                Configuration = new HttpConfiguration()
            };
            controller.ModelState.AddModelError("FakeError", "This is a Fake Error!");

            // Act
            var result = await controller.Put(1, model);

            // Assert
            var viewResult = Assert.IsType<InvalidModelStateResult>(result);
            Assert.NotNull(viewResult);
        }