public void ConstructionTest() { // given: mocks ReleaseMock releaseMock = new ReleaseMock("TestName", "TestBody", "TestHtmlUrl", new ReleaseAssetMock("TestBrowserDownloadUrl"), "TestTagName"); Mock <IProcessManager> processManagerMock = new Mock <IProcessManager>(MockBehavior.Strict); // when: creating the vm var vm = new NewVersionViewModel(releaseMock, processManagerMock.Object); // then: properties have been read out Assert.That(vm.VersionName, Is.SameAs(releaseMock.Name)); Assert.That(vm.Description, Is.SameAs(releaseMock.Body)); }
public void DownloadReleaseTest() { // given: vm with mocks ReleaseMock releaseMock = new ReleaseMock("TestName", "TestBody", "TestHtmlUrl", new ReleaseAssetMock("TestBrowserDownloadUrl"), "TestTagName"); Mock <IProcessManager> processManagerMock = new Mock <IProcessManager>(MockBehavior.Strict); processManagerMock.Setup(p => p.Start(releaseMock.Assets[0].BrowserDownloadUrl)).Returns <Process>(null); var vm = new NewVersionViewModel(releaseMock, processManagerMock.Object); // when: trying to download the release vm.DownloadRelease(); // then: process was started Assert.That(() => processManagerMock.Verify(p => p.Start(releaseMock.Assets[0].BrowserDownloadUrl), Times.Once), Throws.Nothing); }
internal NewVersionView(string appName, string appVersion, Process appProcess, string versionFilePath)//, UpdateVersion version) { InitializeComponent(); DataContext = new NewVersionViewModel(this, appName, appVersion, appProcess, versionFilePath);//, version); }