public void Path_HandleNoTarget(string value, bool useEmptyData) { var expected = _AllHitData; var hitManager = _hitManager; if (useEmptyData) { expected = new List <HitData>(); hitManager = _hitManagerEmpty; } var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = value }; var testCmd = new ActionNameOrAlias(_repoPaths, options, hitManager); _info.Options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = options.NameOrAlias }; var origList = options.List; var result = testCmd.Process(_info); Assert.False(result); hitManager.Received(0).GetHitList(); }
public void Anything_selected_does_not_trigger_action_Name() { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "Plantagenet" }; Anything_selected_does_not_trigger_action_base_test(options); }
public void Anything_selected_does_not_trigger_action_List() { var options = new GetGitChangeDirectoryCommandOptions { List = true }; Anything_selected_does_not_trigger_action_base_test(options); }
public void Anything_selected_does_not_trigger_action_Alias() { var options = new GetGitChangeDirectoryCommandOptions { Alias = "Otoole" }; Anything_selected_does_not_trigger_action_base_test(options); }
private void Anything_selected_does_not_trigger_action_base_test(GetGitChangeDirectoryCommandOptions options) { var testCmd = new ActionDefault(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.False(result); _hitManager.Received(0).GetHitList(); }
public void IsUnderGitRepo_null() { var options = new GetGitChangeDirectoryCommandOptions { Log = true }; var test = new ActionLog(null, options, _hitManager); Assert.IsFalse(test.IsUnderGitRepo); }
public void No_directory_hit(string value) { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = value, Last = true }; var testCmd = new ActionLastDirectory(_repoPaths, options, _hitManager); testCmd.Process(_info); _hitManager.Received(0).GetHitList(); }
protected override GitChangeDirectoryInfo BuildResponse() { var options = new GetGitChangeDirectoryCommandOptions(this); var commonArgs = new DWGitshCommonArgs(null, null, this.RepositoryDirectories); var cmd = new GetGitChangeDirectoryCommand(commonArgs, options); var cmdResult = cmd.Process(); return(cmdResult); }
public void Not_set_does_nothing() { var options = new GetGitChangeDirectoryCommandOptions { }; var testCmd = new ActionList(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.False(result); _hitManager.Received(0).GetHitList(); }
public void Valid_returns_last_dir() { var options = new GetGitChangeDirectoryCommandOptions { Last = true }; var testCmd = new ActionLastDirectory(_repoPaths, options, _hitManager); testCmd.Process(_info); _hitManager.Received(0).GetHitList(); _hitManager.Received(1).GetLastUsedFolder(); Assert.AreEqual(_lastHitFolder.Directory, _info.TargetDirectory); }
public void SetAlias_invalid_alias_no_action_taken(string value) { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "ShouldntMatter", Alias = value }; var testCmd = new ActionRemoveAlias(_repoPaths, options, _hitManager); Assert.AreEqual(options.NameOrAlias, testCmd.TargetName); testCmd.Process(_info); _hitManager.Received(0).GetHitList(); }
public void Path_HandlePreviousTarget_no_data() { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "-" }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManagerEmpty); var result = testCmd.Process(_info); Assert.True(result); _hitManagerEmpty.Received(1).GetHitList(); Assert.Null(_info.TargetDirectory); }
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_HandleRootTarget_no_data(string value) { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = value }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManagerEmpty); var result = testCmd.Process(_info); Assert.True(result); _hitManagerEmpty.Received(1).GetHitList(); Assert.NotNull(_info.TargetDirectory); Assert.AreEqual(_repoPaths.RootFolder, _info.TargetDirectory); }
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 Not_set_returns_list_and_prompt() { _hitManager.GetHitList().Returns(new List <HitData>()); var options = new GetGitChangeDirectoryCommandOptions { }; var testCmd = new ActionDefault(_repoPaths, options, _hitManager); var result = testCmd.Process(_info); Assert.True(result); _hitManager.Received(1).GetHitList(); Assert.True(_info.PromptForListSelector); Assert.True(_info.Options.List); CollectionAssert.IsEmpty(_info.ListData); }
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 Path_HandleMultiTarget_no_data() { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "SomeRandomName" }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManagerEmpty); var result = testCmd.Process(_info); Assert.True(result); _hitManagerEmpty.Received(1).GetHitList(); CollectionAssert.IsEmpty(_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 Path_HandlePreviousTarget() { var options = new GetGitChangeDirectoryCommandOptions { NameOrAlias = "-" }; var testCmd = new ActionNameOrAlias(_repoPaths, options, _hitManager); var expected = _AllHitData.OrderByDescending(x => x.DateLastHit) .FirstOrDefault(x => x.Directory.IsSameFolder(_repoPaths.RootFolder) == false); var result = testCmd.Process(_info); Assert.True(result); _hitManager.Received(1).GetHitList(); Assert.NotNull(_info.TargetDirectory); Assert.AreEqual(expected.Directory, _info.TargetDirectory); }
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); }