Ejemplo n.º 1
0
        public void Given_Checklist_Exists_and_is_copied_check_answers_are_set()
        {
            var checklist = new Checklist() { Id = Guid.NewGuid(), SiteId = 1234 };

            var identity = new Mock<IIdentity>();
            _dependencyFactory.Setup(x => x.GetInstance<IIdentity>())
                .Returns(identity.Object);
            identity.Setup(x => x.Name).Returns("domain\\gareth.wilby");

            var principal = new Mock<IPrincipal>();
            principal.Setup(x => x.Identity).Returns(identity.Object);

            Thread.CurrentPrincipal = principal.Object;

            _userIdentityFactory.Setup(x => x.GetUserIdentity(It.IsAny<IPrincipal>())).Returns(new UserIdentity(Thread.CurrentPrincipal));
            _checklistRepository
                .Setup(x => x.GetById(It.IsAny<Guid>()))
                .Returns(checklist);

            _checklistService.Setup(x =>
                x.CopyToSiteWithResponses(It.IsAny<Guid>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()))
                .Returns(Guid.NewGuid);

            int[] siteIds = { 1 };

            var controller = GetTarget();
            var response = controller.CopyToSiteWithResponses(checklist.Id, 123, false, siteIds);
            Assert.That(response[0].ChecklistId, Is.Not.EqualTo(checklist.Id));
        }
        public void Given_checklist_is_deleted_on_server_When_restore_checklist_is_called_Then_checklist_is_restored()
        {
            Guid checklistId = Guid.NewGuid();

            Checklist checklist = new Checklist();
            checklist.Id = checklistId;
            checklist.Deleted = true;
            checklist.DeletedBy = "Dee Litre";
            checklist.DeletedOn = DateTime.Now;

            _checklistRepository
               .Setup(x => x.GetById(checklistId))
               .Returns(checklist);

            _dependencyFactory
               .Setup(x => x.GetInstance<IUserForAuditingRepository>())
               .Returns(_userForAuditing.Object);

            Checklist savedChecklist = null;
            _checklistRepository.Setup(x => x.SaveOrUpdate(It.IsAny<Checklist>()))
                .Callback(
                    delegate(Checklist x)
                    {
                        savedChecklist = x;
                    }
                );

            var controller = GetTarget();
            var response = controller.RestoreDeletedChecklist(checklistId);

            Assert.AreEqual(false, savedChecklist.Deleted);
            Assert.AreEqual(null, savedChecklist.DeletedBy);
            Assert.AreEqual(null, savedChecklist.DeletedOn);
        }
        public void Given_Submitted_Checklist_When_Any_of_the_Action_is_Assigned_then_CanBeReverted_Returns_false()
        {
            var actionPlan = new ActionPlan() { Id = 1, Title = "My Action Plan", Deleted = false, };
            var action = new Action() { Id = 1, ActionPlanId = actionPlan.Id, ActionPlan = actionPlan, AssignedTo = new Employee() };

            var actionTasks = new List<ActionTask>();
            actionTasks.Add(new ActionTask() { Action = action} );

            action.ActionTasks = actionTasks;

            var actions = new List<Action>();
            actions.Add(action);
            actions.Add(new Action() { Id = 2, ActionPlanId = actionPlan.Id, ActionPlan = actionPlan, });
            actions.Add(new Action() { Id = 3, ActionPlanId = actionPlan.Id, ActionPlan = actionPlan, });

            actionPlan.Actions = actions;

            var checklist = new Checklist
            {
                Id = Guid.NewGuid(),
                ActionPlan = actionPlan,
                Status = "Submitted"
            };

            var target = checklist.CanBeReverted();

            Assert.IsFalse(target);
        }
        public void Given_Submitted_Checklist_When_No_Action_then_CanBeReverted_Returns_true()
        {
            var actionPlan = new ActionPlan() { Id = 1, Title = "My Action Plan", Deleted = false, };

            var actions = new List<Action>();
            actionPlan.Actions = actions;

            var checklist = new Checklist
            {
                Id = Guid.NewGuid(),
                ActionPlan = actionPlan,
                Status = "Submitted"
            };

            var target = checklist.CanBeReverted();

            Assert.IsTrue(target);
        }
        public void Given_Submitted_Checklist_is_reverted_then_properties_are_set()
        {
            var actionPlan = new ActionPlan() { Id = 1, Title = "My Action Plan" };
            var actions = new List<Action>();
            actionPlan.Actions = actions;

            var user = new UserForAuditing();

            var checklist = new Checklist
            {
                Id = Guid.NewGuid(),
                Status = "Submitted",
                ActionPlan = actionPlan
            };

            checklist.Revert(user,"Test User");

            Assert.That(checklist.Status,Is.EqualTo("Assigned"));
            Assert.That(checklist.ExecutiveSummaryDocumentLibraryId, Is.Null);
            Assert.That(checklist.ChecklistSubmittedBy, Is.Null);
            Assert.That(checklist.ChecklistSubmittedOn, Is.Null);
            Assert.That(checklist.LastModifiedBy, Is.EqualTo(user));
            
        }
        public void Given_Submitted_Checklist_Special_Report_when_is_reverted_then_properties_are_set()
        {
           var user = new UserForAuditing();

            var checklist = new Checklist
            {
                Id = Guid.NewGuid(),
                Status = "Submitted",
                SpecialReport = true
            };

            checklist.Revert(user, "Test User");

            Assert.That(checklist.Status, Is.EqualTo("Assigned"));
            Assert.That(checklist.ExecutiveSummaryDocumentLibraryId, Is.Null);
            Assert.That(checklist.ChecklistSubmittedBy, Is.Null);
            Assert.That(checklist.ChecklistSubmittedOn, Is.Null);
            Assert.That(checklist.LastModifiedBy, Is.EqualTo(user));

        }
        public void Given_Submitted_Checklist_is_reverted_then_Action_Plan_is_Removed()
        {
            var actionPlan = new ActionPlan() { Id = 1, Title = "My Action Plan" };
            var actions = new List<Action>();
            actionPlan.Actions = actions;

            var user = new UserForAuditing();

            var checklist = new Checklist
            {
                Id = Guid.NewGuid(),
                Status = "Submitted",
                ActionPlan = actionPlan
            };

            checklist.Revert(user,"Test User");

            Assert.That(checklist.ActionPlan, Is.EqualTo(null));
            
        }