Exemplo n.º 1
0
        public async Task Can_Add_New_Template()
        {
            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.UserGroups.AddRange(new UserGroup(), new UserGroup(), new UserGroup());
                context.DocumentTemplates.Add(new DocumentTemplate());
                await context.SaveChangesAsync();
            }

            var paths = new Dictionary <Tuple <string, int>, IList <int> >
            {
                [new Tuple <string, int>("Type 1", 2)] = new List <int> {
                    1, 2, 3
                },
                [new Tuple <string, int>("Type 4", 4)] = new List <int> {
                    3, 2
                }
            };

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentTaskTemplatesService(context);
                service.Add("Template", 1, paths);
                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var templates = await context.DocumentTaskTemplates.Include(it => it.DocumentTaskTypes).ThenInclude(it => it.Paths).ToListAsync();

                Assert.Equal(1, templates.Count);

                var template = templates.First();
                Assert.Equal("Template", template.Name);
                Assert.Equal(1, template.IdDocumentTemplate);
                Assert.Equal(2, template.DocumentTaskTypes.Count);

                foreach (var taskType in template.DocumentTaskTypes)
                {
                    var key = new Tuple <string, int>(taskType.Name, taskType.DaysLimit);
                    Assert.True(paths.ContainsKey(key));
                    Assert.Equal(paths[key].Count, taskType.Paths.Count);

                    for (var i = 0; i < taskType.Paths.Count; i++)
                    {
                        var path = taskType.Paths[i];

                        Assert.Equal(paths[key][taskType.Paths.Count - i - 1], path.IdUserGroup);
                        Assert.Equal(taskType.Paths.Count - i - 1, path.Index);
                    }
                }
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public async Task Can_Return_All_Templates()
        {
            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.DocumentTaskTemplates.AddRange(new DocumentTaskTemplate(), new DocumentTaskTemplate());
                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentTaskTemplatesService(context);
                var result  = await service.GetAll();

                Assert.Equal(2, result.Count);
            }
        }
Exemplo n.º 4
0
        public async Task Can_Return_By_Id()
        {
            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.DocumentTaskTemplates.Add(new DocumentTaskTemplate());
                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentTaskTemplatesService(context);

                var good = await service.GetById(1);

                Assert.NotNull(good);

                var bad = await service.GetById(2);

                Assert.Null(bad);
            }
        }
Exemplo n.º 5
0
        public async Task Can_Return_Task_Types()
        {
            var template = new DocumentTaskTemplate {
                DocumentTaskTypes = new List <DocumentTaskType> {
                    new DocumentTaskType(), new DocumentTaskType()
                }
            };

            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.DocumentTaskTemplates.Add(template);
                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentTaskTemplatesService(context);
                var result  = await service.GetAllTaskTypes(1);

                Assert.Equal(2, result.Count);
            }
        }