public UnitOfWork(ApplicationDbContext dbContext) { this.dbContext = dbContext; DocumentsService = new DocumentsService(dbContext); DocumentsStatesService = new DocumentsStatesService(dbContext); DocumentsTemplateItemService = new DocumentsTemplateItemService(dbContext); DocumentsTemplateService = new DocumentsTemplateService(dbContext); DocumentTaskTemplatesService = new DocumentTaskTemplatesService(dbContext); DocumentTasksService = new DocumentTasksService(dbContext); LogsService = new LogsService(dbContext); RolesService = new RolesService(dbContext); TagsService = new TagsService(dbContext); UsersService = new UsersService(dbContext); UserGroupsService = new UserGroupsService(dbContext); }
public async Task Can_Return_Document_State_By_Id() { var dbContextOptions = CreateNewContextOptions(); using (var context = new ApplicationDbContext(dbContextOptions)) { context.DocumentStates.AddRange( new DocumentState { DocumentData = new DocumentDataUpload { Data = new byte[] { 1, 2, 3 } } }, new DocumentState { DocumentData = new DocumentDataTemplate { DocumentDataTemplateItems = new List <DocumentDataTemplateItem> { new DocumentDataTemplateItem { IdDocumentData = 2 }, new DocumentDataTemplateItem { IdDocumentData = 2 } } } }); await context.SaveChangesAsync(); } using (var context = new ApplicationDbContext(dbContextOptions)) { var service = new DocumentsStatesService(context); var documentUploadState = await service.GetDocumentStateById(1, false); Assert.NotNull(documentUploadState); Assert.Equal(new byte[] { 1, 2, 3 }, ((DocumentDataUpload)documentUploadState.DocumentData).Data); var documentTemplateState = await service.GetDocumentStateById(2, true); Assert.NotNull(documentTemplateState); Assert.Equal(2, ((DocumentDataTemplate)documentTemplateState.DocumentData).DocumentDataTemplateItems.Count); } }
public async Task Can_Return_Latest_Document_From_Template_Items() { var dbContextOptions = CreateNewContextOptions(); using (var context = new ApplicationDbContext(dbContextOptions)) { context.Documents.Add(new Document { DocumentStates = new List <DocumentState> { new DocumentState { DocumentData = new DocumentDataTemplate { DocumentDataTemplateItems = new List <DocumentDataTemplateItem> { new DocumentDataTemplateItem { IdDocumentData = 1, Value = "1", DocumentTemplateItem = new DocumentTemplateItem() }, new DocumentDataTemplateItem { IdDocumentData = 1, Value = "2", DocumentTemplateItem = new DocumentTemplateItem() } } } } } }); await context.SaveChangesAsync(); } using (var context = new ApplicationDbContext(dbContextOptions)) { var service = new DocumentsStatesService(context); var items = await service.GetDocumentDataTemplateItems(1); Assert.Equal(2, items.Count); Assert.Equal("1", items.First().Value); Assert.Equal("2", items.Last().Value); Assert.True(items.All(it => it.DocumentTemplateItem != null)); } }