using System; using System.Collections.Generic; using Microsoft.Extensions.DependencyInjection; using NSubstitute; using Octokit; using Volo.Abp; using Volo.Abp.Modularity; using Volo.Docs.GitHub.Documents; using Volo.Abp.Testing; using Volo.Docs.GitHub.Documents.Version; using Volo.Docs.Projects; namespace Volo.Docs { public abstract class DocsTestBase : AbpIntegratedTest where TStartupModule : IAbpModule { protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) { options.UseAutofac(); } protected override void AfterAddApplication(IServiceCollection services) { var repositoryManager = Substitute.For(); repositoryManager.GetFileRawStringContentAsync(Arg.Any(), Arg.Any(), Arg.Any()) .Returns("stringContent"); repositoryManager.GetFileRawStringContentAsync( Arg.Is(x => x.Contains("docs-nav.json", StringComparison.InvariantCultureIgnoreCase)), Arg.Any(), Arg.Any()) .Returns("{\"items\":[{\"text\":\"Part-I.md\",\"path\":\"Part-I.md\"},{\"text\":\"Part-II\",\"path\":\"Part-II.md\"}]}"); repositoryManager.GetFileRawByteArrayContentAsync(Arg.Any(), Arg.Any(), Arg.Any()) .Returns(new byte[] { 0x01, 0x02, 0x03 }); repositoryManager.GetVersionsAsync(Arg.Any(), Arg.Any(), Arg.Any(), GithubVersionProviderSource.Releases) .Returns(new List { new GithubVersion() { Name = "0.15.0" } }); repositoryManager.GetFileCommitsAsync(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any()) .Returns(new List { new GitHubCommit("", "", "", "", "", null, null, new Author("hikalkan ", 2, "", "https://avatars1.githubusercontent.com/u/1?v=4", "", "https://github.com/hikalkan", "", "", "", "", "", "", "", "", "", "", false), "", new Commit("", "", "", "", "", null, null, "", new Committer("", "", DateTimeOffset.Now), null, null, new []{ new GitReference("", "", "", "", "", null, null) }, 1, null), null, "", null, new []{ new GitReference("", "", "", "", "", null, null) }, null), new GitHubCommit("", "", "", "", "", null, null, new Author("ebicoglu ", 2, "", "https://avatars1.githubusercontent.com/u/2?v=4", "", "https://github.com/ebicoglu", "", "", "", "", "", "", "", "", "", "", false), "", new Commit("", "", "", "", "", null, null, "", new Committer("", "", DateTimeOffset.Now), null, null, new []{ new GitReference("", "", "", "", "", null, null) }, 1, null), null, "", null, new []{ new GitReference("", "", "", "", "", null, null) }, null) }); services.AddSingleton(repositoryManager); } } }