Ejemplo n.º 1
0
        public void Get_returns_data_From_Service_verbatim()
        {
            //Arrange
            var buckets = new[]
            {
                new Bucket(),
                new Bucket(),
                new Bucket()
            };
            var service = new Mock <IBucketService>();

            service
            .Setup(fake => fake.GetAllAsync())
            .ReturnsAsync(buckets);

            var controller = new BucketsController(service.Object);

            //Act
            var result = controller.Get().Result;

            //Assert
            service.Verify(mock => mock.GetAllAsync(), Times.Once);
            Assert.AreEqual(buckets.Count(), result.Count());
            Assert.AreEqual(buckets.First(), result.First());
        }
Ejemplo n.º 2
0
        public async Task Post_adds_the_bucket_and_returns_it_updated()
        {
            //Arrange
            var service    = new Mock <IBucketService>();
            var controller = new BucketsController(service.Object);

            var bucket = new Bucket();

            //Act
            var returned = await controller.Post(bucket);

            //Assert
            service.Verify(mock => mock.AddAsync(bucket), Times.Once);
            Assert.AreEqual(bucket, returned);
        }
Ejemplo n.º 3
0
        public async Task Put_sends_data_straight_to_service_and_returns_the_bucket_again()
        {
            //Arrange
            var service = new Mock <IBucketService>();

            var controller = new BucketsController(service.Object);

            var id     = 42;
            var bucket = new Bucket();

            //Act
            var result = await controller.Put(id, bucket);

            //Assert
            service.Verify(mock => mock.UpdateAsync(id, bucket), Times.Once);
            Assert.AreEqual(bucket, result);
        }
Ejemplo n.º 4
0
        public void Get_returns_a_possibly_empty_list_of_buckets()
        {
            //Arrange
            var service = new Mock <IBucketService>();

            service
            .Setup(fake => fake.GetAllAsync())
            .ReturnsAsync(Enumerable.Empty <Bucket>());


            var controller = new BucketsController(service.Object);

            //Act
            var result = controller.Get().Result;

            //Assert
            Assert.IsNotNull(result);
        }
Ejemplo n.º 5
0
            public async Task When_GettingBucket_Expect_Bucket()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <GetBucket.Query>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(new GetBucket.Response(new Domain.Aggregates.Bucket.Bucket()));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                Bucket result;

                // Act
                result = await controller.GetBucket(new Random().Next(int.MaxValue));

                // Assert
                Assert.NotNull(result);
            }
Ejemplo n.º 6
0
            public async Task When_GettingBuckets_Expect_Buckets()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <GetBuckets.Query>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(new GetBuckets.Response(new List <Domain.Aggregates.Bucket.Bucket>()));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                IList <Bucket> result;

                // Act
                result = await controller.GetBuckets(null, null);

                // Assert
                Assert.NotNull(result);
            }
Ejemplo n.º 7
0
            public async Task When_RemovingItem_Expect_NoContentResult()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <RemoveItem.Command>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(default(Unit));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                ActionResult result;

                // Act
                result = await controller.RemoveItem(new Random().Next(int.MaxValue), new Random().Next(int.MaxValue));

                // Assert
                Assert.IsType <NoContentResult>(result);
            }
Ejemplo n.º 8
0
            public async Task When_UpdatingBucket_Expect_UpdatedBucket()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <UpdateBucket.Command>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(new UpdateBucket.Response(new Domain.Aggregates.Bucket.Bucket(), false));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                ActionResult <Bucket> result;

                // Act
                result = await controller.UpdateBucket(new Random().Next(int.MaxValue), new Bucket());

                // Assert
                Assert.Null(result.Result);
                Assert.IsType <Bucket>(result.Value);
            }
Ejemplo n.º 9
0
            public async Task When_AddingBucket_Expect_CreatedAtRouteResult()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <AddBucket.Command>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(new AddBucket.Response(new Domain.Aggregates.Bucket.Bucket()));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                ActionResult result;

                // Act
                result = await controller.AddBucket(new Bucket());

                // Assert
                CreatedAtRouteResult actionResult = Assert.IsType <CreatedAtRouteResult>(result);

                Assert.NotEmpty(actionResult.RouteName);
                Assert.IsType <Bucket>(actionResult.Value);
            }
Ejemplo n.º 10
0
            public async Task When_UpdatingNonExistingItem_Expect_CreatedAtRouteResult()
            {
                // Arrange
                Mock <IMediator> mock = new Mock <IMediator>();

                mock.Setup(m => m.Send(It.IsAny <UpdateItem.Command>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(new UpdateItem.Response(new Domain.Aggregates.Bucket.Item(), true));

                BucketsController controller = new BucketsController(this.mapper, mock.Object);

                ActionResult <Item> result;

                // Act
                result = await controller.UpdateItem(new Random().Next(int.MaxValue), new Random().Next(int.MaxValue), new Item());

                // Assert
                CreatedAtRouteResult actionResult = Assert.IsType <CreatedAtRouteResult>(result.Result);

                Assert.Null(result.Value);

                Assert.NotEmpty(actionResult.RouteName);
                Assert.IsType <Item>(actionResult.Value);
            }
Ejemplo n.º 11
0
 public BucketControllerTests()
 {
     _logger     = new LoggerFactory().CreateLogger <BucketsController>();
     _controller = new BucketsController(_logger);
 }