コード例 #1
0
            public void WillPassTheIncludedPackagesToTheView()
            {
                var controller = new TestableCuratedFeedsController();

                controller.StubCuratedFeed.Packages = new HashSet <CuratedPackage>(new[]
                {
                    new CuratedPackage {
                        AutomaticallyCurated = true, Included = true, PackageRegistration = new PackageRegistration {
                            Id = "theAutomaticallyCuratedId"
                        }
                    },
                    new CuratedPackage {
                        AutomaticallyCurated = false, Included = true, PackageRegistration = new PackageRegistration {
                            Id = "theManuallyCuratedId"
                        }
                    },
                    new CuratedPackage {
                        AutomaticallyCurated = true, Included = false, PackageRegistration = new PackageRegistration {
                            Id = "theExcludedId"
                        }
                    },
                });

                var viewModel = (controller.CuratedFeed("aFeedName") as ViewResult).Model as CuratedFeedViewModel;

                Assert.NotNull(viewModel);
                Assert.Equal(2, viewModel.IncludedPackages.Count());
                Assert.Equal("theAutomaticallyCuratedId", viewModel.IncludedPackages.ElementAt(0).Id);
                Assert.Equal("theManuallyCuratedId", viewModel.IncludedPackages.ElementAt(1).Id);
            }
コード例 #2
0
            public void WillPassTheCuratedFeedManagersToTheView()
            {
                var controller = new TestableCuratedFeedsController();

                var viewModel = (controller.CuratedFeed("aName") as ViewResult).Model as CuratedFeedViewModel;

                Assert.NotNull(viewModel);
                Assert.Equal(controller.Fakes.User, viewModel.Managers.First());
            }
コード例 #3
0
            public void WillPassTheCuratedFeedNameToTheView()
            {
                var controller = new TestableCuratedFeedsController();

                var viewModel = (controller.CuratedFeed("aName") as ViewResult).Model as CuratedFeedViewModel;

                Assert.NotNull(viewModel);
                Assert.Equal("aName", viewModel.Name);
            }
コード例 #4
0
            public void WillReturn404IfTheCuratedFeedDoesNotExist()
            {
                var controller = new TestableCuratedFeedsController();

                controller.StubCuratedFeedService.Setup(stub => stub.GetFeedByName(It.IsAny <string>(), It.IsAny <bool>())).Returns((CuratedFeed)null);

                var result = controller.CuratedFeed("aName");

                Assert.IsType <HttpNotFoundResult>(result);
            }
コード例 #5
0
            public void WillReturn403IfTheCurrentUsersIsNotAManagerOfTheCuratedFeed()
            {
                var controller = new TestableCuratedFeedsController();

                controller.SetCurrentUser(controller.Fakes.Owner);

                var result = controller.CuratedFeed("aName") as HttpStatusCodeResult;

                Assert.NotNull(result);
                Assert.Equal(403, result.StatusCode);
            }
コード例 #6
0
            public void WillReturn403IfTheCurrentUsersIsNotAManagerOfTheCuratedFeed()
            {
                var controller = new TestableCuratedFeedsController();

                controller.StubIdentity.Setup(stub => stub.Name).Returns("notAManager");

                var result = controller.CuratedFeed("aFeedName") as HttpStatusCodeResult;

                Assert.NotNull(result);
                Assert.Equal(403, result.StatusCode);
            }
コード例 #7
0
            public void WillSearchForAPackage()
            {
                var controller = new TestableCuratedFeedsController();

                var redPill = new PackageRegistration
                {
                    Id            = "RedPill",
                    Key           = 2,
                    DownloadCount = 0,
                    Packages      = new []
                    {
                        new Package
                        {
                            Key = 89932,
                        }
                    },
                    Owners = new []
                    {
                        new User
                        {
                            Key      = 66,
                            Username = "******",
                        }
                    }
                };

                redPill.Packages.ElementAt(0).PackageRegistration = redPill;

                var mockPackageRegistrations = new [] { redPill }.AsQueryable();
                var mockPackages = new[] { redPill.Packages.ElementAt(0) }.AsQueryable();

                controller.StubCuratedFeedService
                .Setup(stub => stub.GetKey("TheMatrix"))
                .Returns(2);

                int totalHits;

                controller.StubSearchService
                .Setup(stub => stub.Search(It.IsAny <SearchFilter>(), out totalHits))
                .Returns(mockPackages);

                var mockHttpContext = new Mock <HttpContextBase>();

                TestUtility.SetupHttpContextMockForUrlGeneration(mockHttpContext, controller);

                // Act
                var result = controller.ListPackages("TheMatrix", "");

                Assert.IsType <ViewResult>(result);
                Assert.IsType <PackageListViewModel>(((ViewResult)result).Model);
                var model = (result as ViewResult).Model as PackageListViewModel;

                Assert.Equal(1, model.Items.Count());
            }
コード例 #8
0
            public void WillPassTheCuratedFeedManagersToTheView()
            {
                var controller = new TestableCuratedFeedsController();

                controller.StubIdentity.Setup(stub => stub.Name).Returns("theManager");
                controller.StubCuratedFeed.Managers = new HashSet <User>(new[] { new User {
                                                                                     Username = "******"
                                                                                 } });

                var viewModel = (controller.CuratedFeed("aFeedName") as ViewResult).Model as CuratedFeedViewModel;

                Assert.NotNull(viewModel);
                Assert.Equal("theManager", viewModel.Managers.First());
            }