Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #7
0
        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);
        }