Beispiel #1
0
        public void Given_a_existing_yes_answer_but_update_no_and_have_a_deleted_significant_finding_When_answer_updated_Then_should_set_properties_as_expected()
        {
            // Given
            var user = new UserForAuditing();
            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            var question = new Question();

            var target = FireAnswer.Create(fireRiskAssessmentChecklist, question, YesNoNotApplicableEnum.Yes, "Additional Info", user);
            target.SignificantFinding = new SignificantFinding()
                                            {
                                                Deleted = true
                                            };
            
            // When
            target.Update(YesNoNotApplicableEnum.No, "Additional Info", user);

            // Then
            Assert.That(target.SignificantFinding, Is.Not.Null);
            Assert.That(target.SignificantFinding.Deleted, Is.False);
            Assert.That(target.FireRiskAssessmentChecklist, Is.EqualTo(fireRiskAssessmentChecklist));
            Assert.That(target.YesNoNotApplicableResponse, Is.EqualTo(YesNoNotApplicableEnum.No));
            Assert.That(target.AdditionalInfo, Is.EqualTo("Additional Info"));
            Assert.That(target.LastModifiedOn.Value.ToShortDateString(), Is.EqualTo(DateTime.Now.ToShortDateString()));
            Assert.That(target.LastModifiedBy, Is.EqualTo(user));
        }
Beispiel #2
0
        public static FireAnswer Create(
            FireRiskAssessmentChecklist fireRiskAssessmentChecklist,
            Question question,
            YesNoNotApplicableEnum? yesNoNotApplicableResponse,
            string additionalInfo,
            UserForAuditing user)
        {
            var fireAnswer = new FireAnswer
                                 {
                                     FireRiskAssessmentChecklist = fireRiskAssessmentChecklist,
                                     Question = question,
                                     YesNoNotApplicableResponse = yesNoNotApplicableResponse,
                                     AdditionalInfo = additionalInfo,
                                     CreatedOn = DateTime.Now,
                                     CreatedBy = user
                                 };

            if (yesNoNotApplicableResponse == YesNoNotApplicableEnum.No)
            {
                var significantFinding = SignificantFinding.Create(fireAnswer, user);
                fireAnswer.SignificantFinding = significantFinding;
            }

            return fireAnswer;
        }
        public void When_MarkChecklistWithCompleteFailureAttemptTests_Then_should_set_properties_correctly()
        {
            // Given
            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            var user = new UserForAuditing();

            // When
            fireRiskAssessmentChecklist.MarkChecklistWithCompleteFailureAttempt(user);

            // Then
            Assert.That(fireRiskAssessmentChecklist.HasCompleteFailureAttempt,Is.True);
            Assert.That(fireRiskAssessmentChecklist.LastModifiedBy, Is.EqualTo(user));
            Assert.That(fireRiskAssessmentChecklist.LastModifiedOn, Is.Not.EqualTo(default(DateTime)));
        }
        public FireRiskAssessmentChecklistDto MapWithChecklist(FireRiskAssessmentChecklist entity)
        {
            if (entity == null) return null;
            var dto = new FireRiskAssessmentChecklistDto
                          {
                              Id = entity.Id,
                              Checklist = new ChecklistDtoMapper().MapWithSections(entity.Checklist),
                              CompletedDate = entity.CompletedDate,
                              Answers = new FireAnswerDtoMapper().Map(entity.Answers),
                              HasCompleteFailureAttempt = entity.HasCompleteFailureAttempt
                          };

            return dto;
        }
        private static FireRiskAssessmentFurtherControlMeasureTask CreateFireRiskAssessmentFurtherControlMeasureTask()
        {
            var fireRiskAssessment = new FireRiskAssessment();
            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            fireRiskAssessmentChecklist.FireRiskAssessment = fireRiskAssessment;

            var fireAnswer = new FireAnswer();
            fireAnswer.FireRiskAssessmentChecklist = fireRiskAssessmentChecklist;
            fireRiskAssessmentChecklist.Answers.Add(fireAnswer);

            var significantFinding = SignificantFinding.Create(fireAnswer, null);
            var fraTask = new FireRiskAssessmentFurtherControlMeasureTask();
            fraTask.SignificantFinding = significantFinding;
            return fraTask;
        }
        public void TestFixtureSetUp()
        {
            _fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();

            var answerParameterClasses = new List<SubmitFireAnswerParameters>
                                             {
                                                 new SubmitFireAnswerParameters
                                                     {
                                                         Question = new Question
                                                                        {
                                                                            Id = 1001L
                                                                        },
                                                         YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes,
                                                         AdditionalInfo = "some more stuff"
                                                     },
                                                 new SubmitFireAnswerParameters
                                                     {
                                                         Question = new Question
                                                                        {
                                                                            Id = 1002L
                                                                        },
                                                         YesNoNotApplicableResponse = YesNoNotApplicableEnum.No
                                                     },
                                                 new SubmitFireAnswerParameters
                                                     {
                                                         Question = new Question
                                                                        {
                                                                            Id = 1003L
                                                                        },
                                                         YesNoNotApplicableResponse = YesNoNotApplicableEnum.No
                                                     },
                                                 new SubmitFireAnswerParameters
                                                     {
                                                         Question = new Question
                                                                        {
                                                                            Id = 1004L
                                                                        },
                                                         YesNoNotApplicableResponse =
                                                             YesNoNotApplicableEnum.NotApplicable
                                                     }
                                             };

            _fireRiskAssessmentChecklist.Complete(answerParameterClasses, _currentUser);
        }
Beispiel #7
0
        public void Given_a_yes_answer_When_answer_created_Then_should_create_as_expected()
        {
            // Given
            var user = new UserForAuditing();
            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            var question = new Question();

            // When
            var result = FireAnswer.Create(fireRiskAssessmentChecklist, question, YesNoNotApplicableEnum.Yes, "Additional Info", user);

            // Then
            Assert.That(result.SignificantFinding, Is.Null);
            Assert.That(result.FireRiskAssessmentChecklist, Is.EqualTo(fireRiskAssessmentChecklist));
            Assert.That(result.Question, Is.EqualTo(question));
            Assert.That(result.YesNoNotApplicableResponse, Is.EqualTo(YesNoNotApplicableEnum.Yes));
            Assert.That(result.AdditionalInfo, Is.EqualTo("Additional Info"));
            Assert.That(result.CreatedOn.Value.ToShortDateString(), Is.EqualTo(DateTime.Now.ToShortDateString()));
            Assert.That(result.CreatedBy, Is.EqualTo(user));
        }
Beispiel #8
0
        public void TestFixtureSetUp()
        {
            var answerParameterClasses = new List<SubmitFireAnswerParameters>
            {
                new SubmitFireAnswerParameters
                {
                    Question = new Question
                    {
                        Id = 101L          
                    },
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes,
                    AdditionalInfo = "Test Addditional Info 1"
                },
                new SubmitFireAnswerParameters
                {
                    Question = new Question
                    {
                        Id = 102L          
                    },
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.No,
                },
                new SubmitFireAnswerParameters
                {
                    Question = new Question
                    {
                        Id = 103L          
                    },
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.NotApplicable,
                },
                new SubmitFireAnswerParameters
                {
                    Question = new Question
                    {
                        Id = 104L          
                    },
                }
            };

            _user = new UserForAuditing();
            _fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            _fireRiskAssessmentChecklist.Save(answerParameterClasses, _user);
        }
Beispiel #9
0
        public void Given_a_FRA_when_copy_then_latest_checklist_is_copied()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
                                   {
                                       Id = 1
                                       ,
                                       Checklist = new Checklist { Id = 1 }
                                       ,
                                       CreatedOn = DateTime.Now.AddDays(-123)
                                       ,
                                       CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
                                   };

            var fraChecklist2 = new FireRiskAssessmentChecklist
            {
                Id = 2
                ,
                Checklist = new Checklist { Id = 2 }
                ,
                CreatedOn = DateTime.Now.AddDays(-10)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
            };

            var fraToCopy = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            fraToCopy.FireRiskAssessmentChecklists.Clear();
            fraToCopy.FireRiskAssessmentChecklists.Add(fraChecklist);
            fraToCopy.FireRiskAssessmentChecklists.Add(fraChecklist2);

            //when
            var copiedFra = fraToCopy.Copy(currentUser);

            //then
            Assert.AreEqual(1, copiedFra.FireRiskAssessmentChecklists.Count);
            Assert.AreEqual(fraChecklist2.Checklist.Id, copiedFra.LatestFireRiskAssessmentChecklist.Checklist.Id);
            Assert.AreEqual(copiedFra.FireRiskAssessmentChecklists.First().Id, 0);
            Assert.AreEqual(copiedFra.FireRiskAssessmentChecklists.First().CreatedOn.Value.Date, DateTime.Now.Date);
            Assert.AreEqual(copiedFra.FireRiskAssessmentChecklists.First().CreatedBy.Id, currentUser.Id);
        }
Beispiel #10
0
        public void Given_a_FRA_when_copy_then_checklist_answers_are_copied()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
            };
            fraChecklist.Answers.Add(
                new FireAnswer
                {
                    AdditionalInfo = "test",
                    CreatedBy = new UserForAuditing { Id = Guid.NewGuid(), CreatedOn = DateTime.Now }
                    ,
                    FireRiskAssessmentChecklist = fraChecklist,
                    Id = 1
                    ,
                    Question = new Question { Id = 1 }
                    ,
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes
                });

            fraChecklist.Answers.Add(
                new FireAnswer
                {
                    AdditionalInfo = "test 5",
                    CreatedBy = new UserForAuditing { Id = Guid.NewGuid(), CreatedOn = DateTime.Now }
                    ,
                    FireRiskAssessmentChecklist = fraChecklist,
                    Id = 2
                    ,
                    Question = new Question { Id = 2 }
                    ,
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.No
                });

            fraChecklist.Answers.Add(
               new FireAnswer
               {
                   AdditionalInfo = "test 5",
                   CreatedBy = new UserForAuditing { Id = Guid.NewGuid(), CreatedOn = DateTime.Now }
                   ,
                   FireRiskAssessmentChecklist = fraChecklist,
                   Id = 3
                   ,
                   Question = new Question { Id = 3 }
                   ,
                   YesNoNotApplicableResponse = YesNoNotApplicableEnum.NotApplicable
               });

            var fraToCopy = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            fraToCopy.FireRiskAssessmentChecklists.Clear();
            fraToCopy.FireRiskAssessmentChecklists.Add(fraChecklist);

            //when
            var copiedFra = fraToCopy.Copy(currentUser);

            //then
            Assert.IsTrue(copiedFra.FireRiskAssessmentChecklists
                              .SelectMany(x => x.Answers)
                              .All(x => x.YesNoNotApplicableResponse == YesNoNotApplicableEnum.Yes || x.YesNoNotApplicableResponse == YesNoNotApplicableEnum.NotApplicable), "Only copy the yes and n/a answers");

            Assert.IsTrue(copiedFra.FireRiskAssessmentChecklists
                              .SelectMany(x => x.Answers)
                              .All(x => x.Id == 0), "Copied answers need to be new entities");

            Assert.IsTrue(copiedFra.FireRiskAssessmentChecklists
                              .SelectMany(x => x.Answers)
                              .All(x => x.CreatedBy == currentUser), "Copied answers need to be new entities");

            Assert.IsTrue(copiedFra.FireRiskAssessmentChecklists
                  .SelectMany(x => x.Answers)
                  .All(x => x.CreatedOn.Value.Date == DateTime.Now.Date), "Copied answers need to be new entities");

        }
Beispiel #11
0
        public void Given_a_FRA_when_copy_then_deleted_answers_are_not_cloned()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
                ,
                Answers = new List<FireAnswer>()
            };

            fraChecklist.Answers.Add(new FireAnswer
            {
                CreatedBy = fraChecklist.CreatedBy,
                CreatedOn = fraChecklist.CreatedOn
                ,
                Id = 34534,
                Deleted = false,
                YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes
                ,
                Question = new Question { Id = 1 }
            });

            fraChecklist.Answers.Add(new FireAnswer
            {
                CreatedBy = fraChecklist.CreatedBy,
                CreatedOn = fraChecklist.CreatedOn
                ,
                Id = 456,
                Deleted = true,
                YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes
                ,
                Question = new Question { Id = 2 }
            });


            var fraToCopy = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            fraToCopy.FireRiskAssessmentChecklists.Clear();
            fraToCopy.FireRiskAssessmentChecklists.Add(fraChecklist);

            //when
            var copiedFra = fraToCopy.Copy(currentUser);

            //then
            var copiedFraChecklist = copiedFra.FireRiskAssessmentChecklists.First();
            Assert.AreEqual(fraToCopy.FireRiskAssessmentChecklists.First().Answers.Count(x => x.Deleted == false), copiedFraChecklist.Answers.Count(x => x.Deleted == false));

        }
Beispiel #12
0
        public void Given_a_FRA_when_copy_then_checklist_answers_significant_findings_are_not_copied()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
            };
            fraChecklist.Answers.Add(
                new FireAnswer
                {
                    AdditionalInfo = "test",
                    CreatedBy = new UserForAuditing { Id = Guid.NewGuid(), CreatedOn = DateTime.Now }
                    ,
                    FireRiskAssessmentChecklist = fraChecklist,
                    Id = 1
                    ,
                    Question = new Question { Id = 1 }
                    ,
                    YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes
                    ,
                    SignificantFinding = new SignificantFinding()
                });


            fraChecklist.Answers.Add(
               new FireAnswer
               {
                   AdditionalInfo = "test 5",
                   CreatedBy = new UserForAuditing { Id = Guid.NewGuid(), CreatedOn = DateTime.Now }
                   ,
                   FireRiskAssessmentChecklist = fraChecklist,
                   Id = 3
                   ,
                   Question = new Question { Id = 3 }
                   ,
                   YesNoNotApplicableResponse = YesNoNotApplicableEnum.NotApplicable
               });

            var fraToCopy = FireRiskAssessment.Create("this is the title", "the ref", 1312, null, new UserForAuditing { Id = Guid.NewGuid() });
            fraToCopy.FireRiskAssessmentChecklists.Clear();
            fraToCopy.FireRiskAssessmentChecklists.Add(fraChecklist);

            //when
            var copiedFra = fraToCopy.Copy(currentUser);

            //then
            Assert.IsTrue(copiedFra.FireRiskAssessmentChecklists
                              .SelectMany(x => x.Answers)
                              .All(x => x.SignificantFinding == null), "Don't copy the significant findings");

        }
Beispiel #13
0
        public void Given_answer_has_not_changed_when_Update_Then_last_modified_not_updated()
        {
            // Given
            var expectedAnswer = YesNoNotApplicableEnum.Yes;
            var expectedAdditionalInfo = "Test additional";
            var user = new UserForAuditing();
            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist();
            var question = new Question();

            var target = FireAnswer.Create(fireRiskAssessmentChecklist, question, expectedAnswer, expectedAdditionalInfo, user);

            // When
            target.Update(expectedAnswer, expectedAdditionalInfo, user);

            //THEN
            Assert.That(target.LastModifiedOn,Is.Null);
            Assert.That(target.LastModifiedBy, Is.Null);
        }
        public static FireRiskAssessment Create(string title, string reference, long companyId, Checklist checklist, UserForAuditing currentUser)
        {
            var now = DateTime.Now;

            var fireRiskAssessment = new FireRiskAssessment
            {
                CompanyId = companyId,
                Reference = reference,
                Title = title,
                CreatedBy = currentUser,
                CreatedOn = now,
                Status = RiskAssessmentStatus.Draft
            };

            var fireRiskAssessmentChecklist = new FireRiskAssessmentChecklist
                                                  {
                                                      Checklist = checklist,
                                                      FireRiskAssessment = fireRiskAssessment,
                                                      CreatedBy = currentUser,
                                                      CreatedOn = now
                                                  };

            fireRiskAssessment.FireRiskAssessmentChecklists.Add(fireRiskAssessmentChecklist);
            return fireRiskAssessment;
        }
        public void Given_a_FRA_checklist_when_copied_then_createdon_and_createdby_set()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
                ,
                Answers = new List<FireAnswer>()
            };

            var fraToClone = fraChecklist.CopyWithYesAnswers(currentUser);

            //then
            Assert.AreEqual(currentUser, fraToClone.CreatedBy);
            Assert.AreEqual(DateTime.Now.Date, fraToClone.CreatedOn.Value.Date);

        }
        public void Given_a_FRA_checklist_when_copied_then_only_the_Yes_answers_are_copied()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
                ,
                Answers = new List<FireAnswer>()
            };

            fraChecklist.Answers.Add(new FireAnswer
            {
                CreatedBy = fraChecklist.CreatedBy,
                CreatedOn = fraChecklist.CreatedOn
                ,
                Id = 21312,
                Deleted = false,
                YesNoNotApplicableResponse = YesNoNotApplicableEnum.Yes
                ,
                Question = new Question { Id = 1 }
            });

            fraChecklist.Answers.Add(new FireAnswer
            {
                CreatedBy = fraChecklist.CreatedBy,
                CreatedOn = fraChecklist.CreatedOn
                ,
                Id = 213122,
                Deleted = false,
                YesNoNotApplicableResponse = YesNoNotApplicableEnum.No,
                Question = new Question { Id = 1 }
            });

            fraChecklist.Answers.Add(new FireAnswer
            {
                CreatedBy = fraChecklist.CreatedBy,
                CreatedOn = fraChecklist.CreatedOn
                ,
                Id = 214,
                Deleted = false,
                YesNoNotApplicableResponse = YesNoNotApplicableEnum.NotApplicable
                ,
                Question = new Question { Id = 2 }
            });


            var fraToClone = fraChecklist.CopyWithYesAnswers(currentUser);

            //then
            Assert.IsTrue(fraToClone.Answers.Any(x => x.YesNoNotApplicableResponse == YesNoNotApplicableEnum.Yes || x.YesNoNotApplicableResponse == YesNoNotApplicableEnum.NotApplicable));
            Assert.IsFalse(fraToClone.Answers.Any(x => x.YesNoNotApplicableResponse == YesNoNotApplicableEnum.No));
            Assert.IsTrue(fraToClone.Answers.Any(x => x.Id == 0)); //ensure that all cloned answers are new entities
            Assert.IsTrue(fraToClone.Answers.All(x => x.CreatedBy.Id == currentUser.Id)); //ensure that all cloned answers are new entities

        }
        public void Given_a_FRA_checklist_when_copied_then_significantFindings_are_not_copied()
        {
            //given
            var currentUser = new UserForAuditing { Id = Guid.NewGuid() };
            var fraChecklist = new FireRiskAssessmentChecklist
            {
                Id = 123123
                ,
                Checklist = new Checklist { Id = 123123 }
                ,
                CreatedOn = DateTime.Now.AddDays(-123)
                ,
                CreatedBy = new UserForAuditing { Id = Guid.NewGuid() }
                ,
                Answers = new List<FireAnswer>()
            };

            fraChecklist.SignificantFindings.Add(new SignificantFinding {Id = 3465});
            var fraToClone = fraChecklist.CopyWithYesAnswers(currentUser);

            //then
            Assert.IsFalse(fraToClone.SignificantFindings.Any());

        }