public TestEnvironment() { UserSecrets = new MemoryRepository <UserSecret>(new[] { new UserSecret { Id = "user01" }, new UserSecret { Id = "user03" } }); RealtimeService = new SFMemoryRealtimeService(); ParatextService = Substitute.For <IParatextService>(); ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user01")).Returns("PT User 1"); ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user03")).Returns("PT User 3"); var options = Microsoft.Extensions.Options.Options.Create(new LocalizationOptions { ResourcesPath = "Resources" }); var factory = new ResourceManagerStringLocalizerFactory(options, NullLoggerFactory.Instance); Localizer = new StringLocalizer <SharedResource>(factory); var siteOptions = Substitute.For <IOptions <SiteOptions> >(); siteOptions.Value.Returns(new SiteOptions { Name = "xForge", }); Mapper = new ParatextNotesMapper(UserSecrets, ParatextService, Localizer, siteOptions); }
public void SetParatextProjectRoles(bool twoPtUserOnProject) { Dictionary <string, string> ptUserRoles = new Dictionary <string, string>(); ptUserRoles["ptuser01"] = "pt_administrator"; if (twoPtUserOnProject) { ptUserRoles["ptuser03"] = "pt_translator"; } ParatextService.GetProjectRolesAsync(Arg.Any <UserSecret>(), Arg.Any <string>()).Returns(ptUserRoles); }
public TestEnvironment() { Document = Substitute.For <IDocument <Delta> >(); Document.CreateAsync(null as Delta).ReturnsForAnyArgs(true); Document.FetchAsync().ReturnsForAnyArgs(true); Document.Data.Returns(Delta.New() .InsertChapter("1") .InsertVerse("1") .InsertText("This is verse 1.", "verse_1_1") .InsertVerse("2") .InsertBlank("verse_1_2") .InsertVerse("3") .InsertText("This is verse 3.", "verse_1_3") .Insert("\n")); Document.SubmitOpAsync(null as Delta).ReturnsForAnyArgs(true); Document.DeleteAsync().ReturnsForAnyArgs(true); EmptyDocument = Substitute.For <IDocument <Delta> >(); EmptyDocument.CreateAsync(null as Delta).ReturnsForAnyArgs(true); Connection = Substitute.For <IConnection>(); IOptions <SiteOptions> siteOptions = Microsoft.Extensions.Options.Options.Create( new SiteOptions() { SiteDir = "/tmp/ResourceServiceTests/site" }); var users = new MemoryRepository <UserEntity>(); Jobs = new MemoryRepository <SyncJobEntity>(new[] { new SyncJobEntity { Id = "1234" } }); Projects = new MemoryRepository <SFProjectEntity>(new[] { new SFProjectEntity { Id = "project01", ProjectName = "project01", Users = { new SFProjectUserEntity { Id = "projectuser01", UserRef = "user01", Role = SFProjectRoles.Administrator } }, ParatextId = "abc123" } }); Texts = new MemoryRepository <TextEntity>(new[] { new TextEntity { BookId = "abc", Id = "text03", ProjectRef = "project02", Chapters = { new Chapter { Number = 1, LastVerse = 3 }, new Chapter { Number = 2, LastVerse = 3 } } } }); var engineService = Substitute.For <IEngineService>(); ParatextService = Substitute.For <IParatextService>(); ParatextService.GetBookTextAsync(null, null, null).ReturnsForAnyArgs(usxText); ParatextService.UpdateBookTextAsync(null, null, null, null, null).ReturnsForAnyArgs(usxText); var realtimeService = Substitute.For <IRealtimeService>(); FileSystemService = Substitute.For <IFileSystemService>(); var logger = Substitute.For <ILogger <ParatextSyncRunner> >(); Runner = new ParatextSyncRunner(siteOptions, users, Jobs, Projects, Texts, engineService, ParatextService, realtimeService, FileSystemService, logger); Runner._job = Jobs.Get("1234"); }