Beispiel #1
0
        public Task <GitRepoCollection> List(GitRepoQuery query)
        {
            var repoQuery = repoFolderProvider.GetDirectoryInfo().EnumerateDirectories();

            if (query.Name != null)
            {
                repoQuery = repoQuery.Where(i => i.Name.Contains(query.Name, StringComparison.InvariantCultureIgnoreCase));
            }
            var repos   = repoQuery.OrderByDescending(i => i.LastWriteTime).ToList();
            var results = repos.Skip(query.SkipTo(repos.Count)).Take(query.Limit).Select(i => GetGitRepoInfo(i));

            return(Task.FromResult(new GitRepoCollection(query, repos.Count, results)));
        }
Beispiel #2
0
            async Task List()
            {
                SetTestPath();
                //This could be more complete
                var repo = mockup.Get <IGitRepoRepository>();
                await repo.AddRange(new GitRepoInput[] { GitRepoTests.CreateInput("TestRepo1"), GitRepoTests.CreateInput("TestRepo2"), GitRepoTests.CreateInput("TestRepo3") });

                var query  = new GitRepoQuery();
                var result = await repo.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
Beispiel #3
0
            async Task List()
            {
                SetTestPath();
                var totalItems = 3;

                var controller = mockup.Get <GitReposController>();

                for (var i = 0; i < totalItems; ++i)
                {
                    Assert.NotNull(await controller.Add(GitRepoTests.CreateInput($"Repo{i}")));
                }

                var query  = new GitRepoQuery();
                var result = await controller.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
Beispiel #4
0
 public async Task <GitRepoCollection> List([FromQuery] GitRepoQuery query)
 {
     return(await repo.List(query));
 }