예제 #1
0
        public async Task Get_ShouldReturnNotFound_IfRepositoryReturnsNull()
        {
            // Arrange
            var repository = Substitute.For <INoveltyRepository>();

            repository.GetAsync(1, CancellationToken.None).ReturnsForAnyArgs(Task.FromResult <INovelty>(null));
            var controller = new NoveltyController(_logger, repository);

            // Act
            var result = await controller.Get(1, CancellationToken.None);

            // Assert
            Assert.That(result, Is.InstanceOf <NotFoundObjectResult>());
        }
예제 #2
0
        public async Task Get_ShouldReturnOk_IfRepositoryReturnsEntity()
        {
            // Arrange
            var novelty    = Substitute.For <INovelty>();
            var repository = Substitute.For <INoveltyRepository>();

            repository.GetAsync(1, CancellationToken.None).Returns(Task.FromResult(novelty));
            var controller = new NoveltyController(_logger, repository);

            // Act
            var result = await controller.Get(1, CancellationToken.None);

            // Assert
            Assert.That(result, Is.InstanceOf <OkObjectResult>());
            var typedResult = (OkObjectResult)result;

            Assert.That(typedResult.Value, Is.EqualTo(novelty));
        }