public void AddAssignment_Test()
        {
            // ARRANGE
            CreateTestProjectAndProjectType();
            var project = uow.Projects.GetAll().First();

            var createParam = new AssignmentCreateParam
            {
                Name                   = "TestAssignment",
                DateDue                = DateTime.Now.AddDays(1),
                DatePlanned            = DateTime.Now,
                Description            = "New description",
                DurationPlannedAsTicks = new TimeSpan(1, 0, 0).Ticks,
                Project                = project
            };

            var assignmentLogic = new AssignmentLogic();

            // ACT
            assignmentLogic.AddAssignment(createParam);
            assignmentLogic.Dispose();

            // ASSERT
            var assignments = uow.Assignments.GetAll().ToList();

            Assert.IsTrue(assignments.Count > 0);
            Assert.AreEqual("TestAssignment", assignments.First(a => a.Name == "TestAssignment").Name);
        }
        private static AssignmentCreateParam CreateAssignmentCreateParam(Project project, string name, string description)
        {
            var random = new Random();
            AssignmentCreateParam param = null;

            if (random.Next(1, 7) > 3)
            {
                param = new AssignmentCreateParam
                {
                    Project     = project,
                    Name        = name,
                    Description = description,
                    DateDue     = new DateTime(2020, random.Next(1, 13), random.Next(1, 28)),
                    DatePlanned = new DateTime(2020, random.Next(1, 13), random.Next(1, 28))
                };

                if (param.DateDue.Value < param.DatePlanned.Value)
                {
                    param.DateDue = param.DatePlanned.Value;
                }
            }
            else
            {
                param = new AssignmentCreateParam
                {
                    Project     = project,
                    Name        = name,
                    Description = description,
                    DateDue     = null,
                    DatePlanned = null
                };
            }

            return(param);
        }
        private Assignment CreateTestAssignment()
        {
            var projectTypeCreateParam = new ProjectTypeCreateParam
            {
                Name        = "Test",
                Description = "Test project type"
            };

            var projectCreateParam = new ProjectCreateParam
            {
                Description = "Project description",
                Name        = "New project",
                ProjectType = ProjectType.Create(projectTypeCreateParam)
            };

            uow.ProjectTypes.Add(ProjectType.Create(projectTypeCreateParam));
            uow.Projects.Add(Project.Create(projectCreateParam));
            uow.Complete();

            var project = uow.Projects.GetAll().First(p => p.Name == "New project");
            var assignmentCreateParam = new AssignmentCreateParam
            {
                Name                   = "TestAssignment",
                DateDue                = DateTime.Now.AddDays(1),
                DatePlanned            = DateTime.Now,
                Description            = "New description",
                DurationPlannedAsTicks = new TimeSpan(1, 0, 0).Ticks,
                Project                = project
            };

            uow.Assignments.Add(Assignment.Create(assignmentCreateParam));
            uow.Complete();

            var assignment = uow.Assignments.Load(a => a.Name == "TestAssignment").Single();

            return(assignment);
        }
Ejemplo n.º 4
0
        private void CreatePrerequisitesForSubtaskCreation()
        {
            var projectTypeCreateParam = new ProjectTypeCreateParam
            {
                Name        = "Test",
                Description = "Test project type"
            };

            uow.ProjectTypes.Add(ProjectType.Create(projectTypeCreateParam));
            this.uow.Complete();

            var projectType        = this.uow.ProjectTypes.GetAll().First();
            var projectCreateParam = new ProjectCreateParam
            {
                Description = "Project description",
                Name        = "New project",
                ProjectType = projectType
            };

            uow.Projects.Add(Project.Create(projectCreateParam));
            this.uow.Complete();

            var project = this.uow.Projects.GetAll().First();
            var assignmentCreateParam = new AssignmentCreateParam
            {
                Name                   = "TestAssignment",
                DateDue                = DateTime.Now.AddDays(1),
                DatePlanned            = DateTime.Now,
                Description            = "New description",
                DurationPlannedAsTicks = new TimeSpan(1, 0, 0).Ticks,
                Project                = project
            };

            uow.Assignments.Add(Assignment.Create(assignmentCreateParam));
            this.uow.Complete();
        }
        private void CreateEntries()
        {
            var projectTypeCreateParam = new ProjectTypeCreateParam
            {
                Name        = "Test",
                Description = "Test project type"
            };

            uow.ProjectTypes.Add(ProjectType.Create(projectTypeCreateParam));
            this.uow.Complete();

            var projectType        = this.uow.ProjectTypes.GetAll().First();
            var projectCreateParam = new ProjectCreateParam
            {
                Description = "Project description",
                Name        = "New project",
                ProjectType = projectType
            };

            uow.Projects.Add(Project.Create(projectCreateParam));
            this.uow.Complete();

            var project = this.uow.Projects.GetAll().First();
            var assignmentCreateParam = new AssignmentCreateParam
            {
                Name                   = "TestAssignment",
                DateDue                = DateTime.Now.AddDays(1),
                DatePlanned            = DateTime.Now,
                Description            = "New description",
                DurationPlannedAsTicks = new TimeSpan(1, 0, 0).Ticks,
                Project                = project
            };

            uow.Assignments.Add(Assignment.Create(assignmentCreateParam));
            this.uow.Complete();
            var assignment = this.uow.Assignments.GetAll().First();
            var subtask    = Subtask.Create(new SubtaskCreateParam
            {
                Name        = "Test subtask",
                Description = "Test description",
                Priority    = EnumDefinition.SubtaskPriority.Medium
            });

            subtask.Assignment_Id = assignment.Id;
            subtask.Assignment    = assignment;
            this.uow.Subtasks.Add(subtask);
            this.uow.Complete();

            var entryCreateParam = new EntryCreateParam
            {
                Comment = "Test comment",
                Date    = DateTime.Now.Date,
                Started = DateTime.Now.AddHours(-2),
                Ended   = DateTime.Now.AddHours(-1),
                Name    = "Test entry",
                Project = project
            };

            for (int i = 0; i < 3; i++)
            {
                this.uow.Entries.Add(Entry.Create(entryCreateParam));
            }

            this.uow.Complete();
        }