예제 #1
0
        public async void GroupSnapshots_ShouldReturnBadRequest()
        {
            // Act
            var sit    = new SnapshotGroupsController(null, Substitute.For <ILogger <SnapshotGroupsController> >());
            var result = await sit.GroupSnapshots(GroupByCriteria.None);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
예제 #2
0
        public async void GroupSnapshots_ShouldReturnOk()
        {
            WebApiTestsHelper.Lock();

            // Arrange
            SetUp();
            var snapshotGroups = new List <SnapshotGroup>
            {
                new SnapshotGroup
                {
                    Name        = "December 2018",
                    SnapshotIds = new List <int> {
                        1, 2, 3
                    }
                },
                new SnapshotGroup
                {
                    Name        = "January 2019",
                    SnapshotIds = new List <int> {
                        4, 5, 6
                    }
                }
            };

            Task <IEnumerable <SnapshotGroup> > dataFetchOperation()
            {
                var tcs = new TaskCompletionSource <IEnumerable <SnapshotGroup> >();

                tcs.SetResult(snapshotGroups);
                return(tcs.Task);
            };
            var snapshotDataService = Substitute.For <ILocationSnapshotDataService>();

            snapshotDataService.ChooseGroupByOperation(Arg.Any <GroupByCriteria>())
            .Returns(dataFetchOperation);

            // Act
            var sit    = new SnapshotGroupsController(snapshotDataService, Substitute.For <ILogger <SnapshotGroupsController> >());
            var result = await sit.GroupSnapshots(GroupByCriteria.CreatedDate);

            // Assert
            var dtos = WebApiTestsHelper.ExtractGenericCollectionFromActionResult <OkObjectResult, IEnumerable <SnapshotGroupDto> >(result)
                       .ToList();

            for (var i = 0; i < dtos.Count; i++)
            {
                Assert.Equal(snapshotGroups[i].Name, dtos[i].Name);
                Assert.Equal(snapshotGroups[i].SnapshotIds, dtos[i].SnapshotIds);
            }

            WebApiTestsHelper.Unlock();
        }