Beispiel #1
0
        public void GetProjects_SolutionHasTwoProjectsAndOneProjectSelectedInProjectsBrowser_ReturnsProjectSelectedInProjects()
        {
            CreateFakeSolution();
            List <IProject> projectsAddedToSolution = AddSolutionWithTwoProjectsToProjectService();
            IProject        project = projectsAddedToSolution[1];

            project.Name = "MyProject";
            fakeSolution.FakeActiveMSBuildProject = project;

            var fakeProject = fakeSolution.AddFakeProjectToReturnFromGetProject("MyProject");

            CreateSelectedProjects();

            var fakePackage = new FakePackage();
            var projects    = new List <IPackageManagementSelectedProject>();

            projects.AddRange(selectedProjects.GetProjects(fakePackage));

            var expectedProject  = new FakeSelectedProject("MyProject", selected: false, enabled: true);
            var expectedProjects = new List <IPackageManagementSelectedProject>();

            expectedProjects.Add(expectedProject);

            SelectedProjectCollectionAssert.AreEqual(expectedProjects, projects);
        }
        FakePackageOperation AddFakeInstallPackageOperationWithPackage(FakeSelectedProject selectedProject, bool requireLicenseAcceptance)
        {
            FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation();

            operation.FakePackage.RequireLicenseAcceptance = requireLicenseAcceptance;
            return(operation);
        }
Beispiel #3
0
        public void GetProjects_SolutionHasTwoProjectsAndOneProjectSelectedInProjectsBrowserAndPackageIsInstalledInProject_ReturnsProjectAndIsSelectedIsTrue()
        {
            CreateFakeSolution();
            List <IProject> projectsAddedToSolution = AddSolutionWithTwoProjectsToProjectService();

            projectsAddedToSolution[0].Name = "Aaa";
            IProject msbuildProject = projectsAddedToSolution[1];

            msbuildProject.Name = "MyProject";
            fakeSolution.FakeActiveMSBuildProject = msbuildProject;

            var fakePackage = new FakePackage();
            var fakeProject = fakeSolution.AddFakeProjectToReturnFromGetProject("MyProject");

            fakeProject.FakePackages.Add(fakePackage);
            fakeSolution.AddFakeProjectToReturnFromGetProject("Aaa");

            CreateSelectedProjects();

            List <IPackageManagementSelectedProject> projects =
                selectedProjects.GetProjects(fakePackage).ToList();

            var expectedProject  = new FakeSelectedProject("MyProject", selected: true);
            var expectedProjects = new List <IPackageManagementSelectedProject>();

            expectedProjects.Add(expectedProject);

            SelectedProjectCollectionAssert.AreEqual(expectedProjects, projects);
            Assert.AreEqual(fakePackage.FakePackageRepository, fakeSolution.RepositoryPassedToGetProject);
            Assert.AreEqual(msbuildProject, fakeSolution.ProjectPassedToGetProject);
        }
Beispiel #4
0
        void AddTwoProjects()
        {
            var project = new FakeSelectedProject("Test1");

            fakeSelectedProjects.Add(project);
            project = new FakeSelectedProject("Test2");
            fakeSelectedProjects.Add(project);
        }
        public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_PrereleaseVersionsAreNotAllowed()
        {
            CreateViewModel();
            CreateTwoFakeSelectedProjects();
            FakeSelectedProject selectedProject = fakeSelectedProjects[0];

            selectedProject.IsSelected = true;
            FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation();

            operation.FakePackage.RequireLicenseAcceptance          = true;
            fakePackageManagementEvents.OnAcceptLicensesReturnValue = false;

            viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects);

            bool allowed = selectedProject.FakeProject.AllowPrereleaseVersionsPassedToGetInstallPackageOperations;

            Assert.IsFalse(allowed);
        }
        public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_PackageInViewModelUsedToGetPackageOperations()
        {
            CreateViewModel();
            CreateTwoFakeSelectedProjects();
            FakeSelectedProject selectedProject = fakeSelectedProjects[0];

            selectedProject.IsSelected = true;
            FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation();

            operation.FakePackage.RequireLicenseAcceptance          = true;
            fakePackageManagementEvents.OnAcceptLicensesReturnValue = false;

            viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects);

            IPackage actualPackage = selectedProject.FakeProject.PackagePassedToGetInstallPackageOperations;

            Assert.AreEqual(fakePackage, actualPackage);
        }
        public void ManagePackagesForSelectedProjects_OneProjectIsSelected_OneProjectIsInstalled()
        {
            CreateViewModel();
            CreateTwoFakeSelectedProjects();
            FakeSelectedProject project = fakeSelectedProjects[1];

            project.IsSelected = true;
            InstallPackageAction expectedAction = project.FakeInstallPackageAction;

            viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects);

            List <ProcessPackageAction> actions = fakeActionRunner.GetActionsRunInOneCallAsList();
            InstallPackageAction        action  = actions[0] as InstallPackageAction;

            Assert.AreEqual(1, actions.Count);
            Assert.AreEqual(fakePackage, action.Package);
            Assert.AreEqual(expectedAction, action);
        }
        public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_UserPromptedToAcceptLicenses()
        {
            CreateViewModel();
            CreateTwoFakeSelectedProjects();
            FakeSelectedProject selectedProject = fakeSelectedProjects[0];

            selectedProject.IsSelected = true;
            FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation();

            operation.FakePackage.RequireLicenseAcceptance          = true;
            fakePackageManagementEvents.OnAcceptLicensesReturnValue = false;

            viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects);

            var expectedPackages = new FakePackage[] {
                operation.FakePackage
            };

            List <IPackage> actualPackages = fakePackageManagementEvents.GetPackagesPassedToOnAcceptLicensesAsList();

            CollectionAssert.AreEqual(expectedPackages, actualPackages);
        }
        FakePackageOperation AddFakeUninstallPackageOperationWithPackageThatRequiresLicenseAcceptance(FakeSelectedProject selectedProject)
        {
            FakePackageOperation uninstallOperation = selectedProject.AddFakeUninstallPackageOperation();

            uninstallOperation.FakePackage.RequireLicenseAcceptance = true;
            return(uninstallOperation);
        }
 FakePackageOperation AddFakeInstallPackageOperationWithPackageThatDoesNotRequireLicenseAcceptance(FakeSelectedProject selectedProject)
 {
     return(AddFakeInstallPackageOperationWithPackage(selectedProject, requireLicenseAcceptance: false));
 }