public void Execute_InstallationStatusProviderReturnsPackages_OneMessageForEachPackageIsWrittenToUserInterface() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var packages = new List<NuDeployPackageInfo> { new NuDeployPackageInfo { Id = "Package.A", Version = new SemanticVersion(1, 0, 0, 1), IsInstalled = true }, new NuDeployPackageInfo { Id = "Package.B", Version = new SemanticVersion(1, 0, 0, 2), IsInstalled = false }, }; installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(packages); var installationStatusCommand = new InstallationStatusCommand(this.loggingUserInterface.UserInterface, installationStatusProvider.Object); // Act installationStatusCommand.Execute(); // Assert foreach (var packageInfo in packages) { Assert.IsTrue(this.loggingUserInterface.UserInterfaceOutput.Contains(packageInfo.Id)); Assert.IsTrue(this.loggingUserInterface.UserInterfaceOutput.Contains(packageInfo.Version.ToString())); } }
public void Execute_NoPackageIdIsSupplied_GeneralGetPackageInfoIsCalled() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var installationStatusCommand = new InstallationStatusCommand(this.loggingUserInterface.UserInterface, installationStatusProvider.Object); // Act installationStatusCommand.Execute(); // Assert installationStatusProvider.Verify(i => i.GetPackageInfo(), Times.Once()); }
public void Execute_PackageIdSpecified_NoPackagesAreReturned_MessageIsWrittenToUserInterface() { // Arrange string packageId = "Package.A"; var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var packages = new List<NuDeployPackageInfo>(); installationStatusProvider.Setup(i => i.GetPackageInfo(packageId)).Returns(packages); var installationStatusCommand = new InstallationStatusCommand(this.loggingUserInterface.UserInterface, installationStatusProvider.Object); // Act installationStatusCommand.Execute(); // Assert Assert.IsNotNullOrEmpty(this.loggingUserInterface.UserInterfaceOutput); }
public void Execute_InvalidPackageIdIsSupplied_GeneralGetPackageInfoIsCalled(string packageId) { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var installationStatusCommand = new InstallationStatusCommand(this.loggingUserInterface.UserInterface, installationStatusProvider.Object); // prepare command arguments installationStatusCommand.Arguments.Add(InstallationStatusCommand.ArgumentNameNugetPackageId, packageId); // Act installationStatusCommand.Execute(); // Assert installationStatusProvider.Verify(i => i.GetPackageInfo(), Times.Once()); }