public void Valid_returns_all_dirs() { var options = new GetGitChangeDirectoryCommandOptions { List = true }; var testCmd = new ActionList(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.True(result); _hitManager.Received(1).GetHitList(); Assert.NotNull(_info.ListData); Assert.True(GcdTestHelper.AreSame(_AllHitData, _info.ListData)); }
public void Path_HandleSingleTarget() { var expected = _AllHitData.First(); var expectedFolderName = GcdTestHelper.GetFolderNameFromPath(expected.Directory); var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = expectedFolderName }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.True(result); _hitManager.Received(1).GetHitList(); Assert.AreEqual(expected.Directory, _info.TargetDirectory); }
public void Path_HandleMultiTarget() { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "SomeRandomName" }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.True(result); _hitManager.Received(1).GetHitList(); Assert.True(GcdTestHelper.AreSame(_AllHitData, _info.ListData)); Assert.Null(_info.TargetDirectory); Assert.True(_info.Options.List); Assert.True(_info.PromptForListSelector); }
public void Existing_entry_remove_no_match() { var hitData = GcdTestHelper.BuildFakeHitData(false); var expectedData = hitData.First(); _hitManager.GetHitList().Returns(hitData); var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "Gibberish", RemoveAlias = true }; var testCmd = new ActionRemoveAlias(_repoPaths, options, _hitManager); testCmd.Process(_info); _hitManager.Received(1).GetHitList(); _hitManager.Received(0).SetAlias(Arg.Any <string>(), Arg.Any <string>()); }
public void Existing_entry_set_new_alias() { var hitData = GcdTestHelper.BuildFakeHitData(true); var expectedData = hitData.First(); var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = expectedData.Alias, Alias = "Surge" }; var testCmd = new ActionSetAlias(_repoPaths, options, _hitManager); Assert.AreEqual(options.NameOrAlias, testCmd.TargetName); _hitManager.GetHitList().Returns(hitData); testCmd.Process(_info); _hitManager.Received(1).GetHitList(); _hitManager.Received(1).SetAlias(expectedData.Directory, options.Alias); }
public void Existing_entry_remove_alias() { var hitData = GcdTestHelper.BuildFakeHitData(true); _hitManager.GetHitList().Returns(hitData); var expectedData = hitData.First(); var findName = GcdTestHelper.GetFolderNameFromPath(expectedData.Directory); var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = findName, RemoveAlias = true }; var testCmd = new ActionRemoveAlias(_repoPaths, options, _hitManager); Assert.AreEqual(options.NameOrAlias, testCmd.TargetName); testCmd.Process(_info); _hitManager.Received(1).GetHitList(); _hitManager.Received(1).SetAlias(expectedData.Directory, null); }
protected void SetupBase() { _AllHitData = GcdTestHelper.BuildFakeHitData(); _info = new GitChangeDirectoryInfo(); _options = new GetGitChangeDirectoryCommandOptions(); _info.Options = new GetGitChangeDirectoryCommandOptions(); _repoPaths = Substitute.For <IRepositoryPaths>(); _repoPaths.RepositoryFolder.Returns(_gitFolder); _repoPaths.RootFolder.Returns(_rootFolder); _repoPathsNoGit = Substitute.For <IRepositoryPaths>(); _repoPathsNoGit.CurrentPath.Returns(_nonGitFolder); _hitManager = Substitute.For <IHitDataManager>(); _hitManager.GetHitList().Returns(_AllHitData); _lastHitFolder = _AllHitData.OrderByDescending(x => x.DateLastHit).First(); _hitManager.GetLastUsedFolder().Returns(_lastHitFolder.Directory); _hitManagerEmpty = Substitute.For <IHitDataManager>(); _hitManagerEmpty.GetHitList().Returns(new List <HitData>()); _hitManagerEmpty.GetLastUsedFolder().Returns((string)null); }