Beispiel #1
0
        public void GetByStatus_WhenValid_ShouldReturnCollectionMemberWithCorrespondingStatus()
        {
            Bug[] bugs =
            {
                new Bug()
                {
                    Text = "First bug",
                    Status = Status.Assigned
                },
                new Bug()
                {
                    Text = "Second bug",
                    Status = Status.Pending
                }
            };

            var data = Mock.Create<IBugLoggerData>();

            Mock.Arrange(() => data.Bugs.All())
                .Returns(() => bugs.AsQueryable());

            var controller = new BugsController(data);
            this.SetupController(controller);

            var actionResult = controller.GetAllByStatus("Pending");
            var response = actionResult.ExecuteAsync(CancellationToken.None).Result;
            var actual = response.Content.ReadAsAsync<IEnumerable<BugModel>>().Result.Select(a => a.Id).ToList();

            var expected = bugs.AsQueryable().Where(b => b.Status == Status.Pending).Select(a => a.Id).ToList();

            CollectionAssert.AreEquivalent(expected, actual);
        }