private UpdateAvailableViewModel BuildViewModel(UpdateAvailableInteraction interaction) { var viewModel = new UpdateAvailableViewModel(_updateManagerTranslation, _processStarter, new ApplicationNameProvider("PDFCreator")); new InteractionHelper <UpdateAvailableInteraction>(viewModel, interaction); return(viewModel); }
public void NothingIsExecuted_SetsResponseToLater() { var interaction = new UpdateAvailableInteraction("", ""); var viewModel = BuildViewModel(interaction); Assert.AreEqual(UpdateAvailableResponse.Later, interaction.Response); Assert.AreSame(interaction, viewModel.Interaction); }
public void TestTranslations() { var updateUrl = "http://update.local"; var interaction = new UpdateAvailableInteraction(updateUrl, "1.0"); var viewModel = BuildViewModel(interaction); Assert.AreEqual(string.Format(_updateManagerTranslation.GetNewUpdateMessage("1.0"), interaction.AvailableVersion), viewModel.Text); Assert.AreEqual(_updateManagerTranslation.GetFormattedTitle(new ApplicationNameProvider("PDFCreator").ApplicationName), viewModel.Title); }
public void InstallUpdateCommand_SetsResponseToSkipVersion() { var interaction = new UpdateAvailableInteraction("", ""); var viewModel = BuildViewModel(interaction); viewModel.InstallUpdateCommand.Execute(null); Assert.AreEqual(UpdateAvailableResponse.Install, interaction.Response); }
public void AskLaterCommand_SetsResponseToLater() { var interaction = new UpdateAvailableInteraction("", ""); var viewModel = BuildViewModel(interaction); viewModel.AskLaterCommand.Execute(null); Assert.AreEqual(UpdateAvailableResponse.Later, interaction.Response); }
public void TestTranslations() { var updateUrl = "http://update.local"; var interaction = new UpdateAvailableInteraction(updateUrl, "1.0"); var viewModel = BuildViewModel(interaction); Assert.AreEqual("UpdateManager\\NewUpdateMessage", viewModel.Text); Assert.AreEqual("UpdateManager\\ApplicationUpdate", viewModel.Title); }
public void WhatsNewCommand_ShowsWhatsNew() { var updateUrl = "http://update.local"; var interaction = new UpdateAvailableInteraction(updateUrl, ""); var viewModel = BuildViewModel(interaction); viewModel.WhatsNewCommand.Execute(null); _processStarter.Received(1).Start(updateUrl); }
public void SetInteraction_RaisesPropertyChanged() { var updateUrl = "http://update.local"; var interaction = new UpdateAvailableInteraction(updateUrl, "1.0"); var viewModel = BuildViewModel(interaction); var changedProperties = new List <string>(); viewModel.PropertyChanged += (sender, args) => changedProperties.Add(args.PropertyName); viewModel.SetInteraction(interaction); var expectedProperties = new[] { nameof(viewModel.Interaction), nameof(viewModel.Text), nameof(viewModel.Title) }; CollectionAssert.AreEquivalent(expectedProperties, changedProperties); }
private void LaunchNewUpdateForm(UpdateEventArgs eventArgs) { var interaction = new UpdateAvailableInteraction(Urls.PDFCreatorWhatsNewUrl, OnlineVersion.Version.ToString()); _interactionInvoker.Invoke(interaction); switch (interaction.Response) { case UpdateAvailableResponse.Install: _updateLauncher.LaunchUpdate(OnlineVersion); break; case UpdateAvailableResponse.Skip: eventArgs.SkipVersion = true; break; } }