public void given_checklist_when_copyWithResponses_then_new_client_id_set() { //given var userForAuditing = new UserForAuditing() { Id = Guid.NewGuid() }; var copiedByUserName = "******"; var checklist = new Checklist() { Id = Guid.NewGuid(), ClientId = 11111, ChecklistCreatedBy = "previousCreatedBy", CreatedOn = DateTime.Now.AddDays(-10), ChecklistCreatedOn = DateTime.Now.AddDays(-10) }; var siteId = 213123; var clientID = 99999; //when var result = checklist.CopyToSiteWithResponses(siteId, clientID, userForAuditing, copiedByUserName, false); //then Assert.That(result.Id, Is.Not.EqualTo(checklist.Id)); Assert.That(result.ClientId, Is.EqualTo(clientID)); }
public void given_checklist_when_copyWithResponses_then_IRNs_are_copied() { //given var siteId = 213123; var clientId = 54321; var userForAuditing = new UserForAuditing() { Id = Guid.NewGuid() }; var copiedByUserName = "******"; var checklist = new Checklist() { Id = Guid.NewGuid() }; Guid IRN1Id = Guid.NewGuid(); var irn1 = ImmediateRiskNotification.Create( IRN1Id, "IRN 1 Some reference", "IRN 1 Title", "IRN 1 Significant hazard identifed", "IRN 1 Recommended immediate action", checklist, userForAuditing); Guid IRN2Id = Guid.NewGuid(); var irn2 = ImmediateRiskNotification.Create(IRN2Id, "IRN 2 Some reference", "IRN 2 Title", "IRN 2 Significant hazard identifed", "IRN 2 Recommended immediate action", checklist, userForAuditing); checklist.AddImmediateRiskNotification(irn1); checklist.AddImmediateRiskNotification(irn2); //when var result = checklist.CopyToSiteWithResponses(siteId, clientId, userForAuditing, copiedByUserName, false); Assert.That(result.ImmediateRiskNotifications.Count, Is.EqualTo(checklist.ImmediateRiskNotifications.Count())); Assert.That(result.ImmediateRiskNotifications[0].Id, Is.Not.EqualTo(checklist.ImmediateRiskNotifications[0].Id)); Assert.That(result.ImmediateRiskNotifications[0].Reference, Is.EqualTo(checklist.ImmediateRiskNotifications[0].Reference)); Assert.That(result.ImmediateRiskNotifications[0].Title, Is.EqualTo(checklist.ImmediateRiskNotifications[0].Title)); Assert.That(result.ImmediateRiskNotifications[0].SignificantHazardIdentified, Is.EqualTo(checklist.ImmediateRiskNotifications[0].SignificantHazardIdentified)); Assert.That(result.ImmediateRiskNotifications[0].RecommendedImmediateAction, Is.EqualTo(checklist.ImmediateRiskNotifications[0].RecommendedImmediateAction)); Assert.That(result.ImmediateRiskNotifications[0].Checklist.Id, Is.EqualTo(result.Id)); Assert.That(result.ImmediateRiskNotifications[1].Id, Is.Not.EqualTo(checklist.ImmediateRiskNotifications[1].Id)); Assert.That(result.ImmediateRiskNotifications[1].Reference, Is.EqualTo(checklist.ImmediateRiskNotifications[1].Reference)); Assert.That(result.ImmediateRiskNotifications[1].Title, Is.EqualTo(checklist.ImmediateRiskNotifications[1].Title)); Assert.That(result.ImmediateRiskNotifications[1].SignificantHazardIdentified, Is.EqualTo(checklist.ImmediateRiskNotifications[1].SignificantHazardIdentified)); Assert.That(result.ImmediateRiskNotifications[1].RecommendedImmediateAction, Is.EqualTo(checklist.ImmediateRiskNotifications[1].RecommendedImmediateAction)); Assert.That(result.ImmediateRiskNotifications[1].Checklist.Id, Is.EqualTo(result.Id)); }
public void given_checklist_when_copyWithResponses_with_question_marked_as_acceptable_then_SupportingDocumentationDate_is_not_set() { //given var siteId = 213123; var clientId = 54321; var userForAuditing = new UserForAuditing() { Id = Guid.NewGuid() }; var copiedByUserName = "******"; var question = Question.Create(Guid.NewGuid(), "Title", new Category() { Id = Guid.NewGuid(), Title = "Care" }, false, userForAuditing); var answer = new ChecklistAnswer() { Id = Guid.NewGuid(), AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() }, EmployeeNotListed = "employee not listed", Timescale = new Timescale() { Id = 2L }, Question = question, Response = new QuestionResponse() { Id = Guid.NewGuid(), SupportingEvidence = "sp", GuidanceNotes = "the guidance notes", ActionRequired = "the action required", ResponseType = "Positive", Question = question }, SupportingDocumentationDate = DateTime.Now.Date, SupportingDocumentationStatus = "SS", SupportingEvidence = "se" }; var answersList = new List<ChecklistAnswer>() { answer }; var checklist = new Checklist() { Id = Guid.NewGuid() }; checklist.Questions.Add(new ChecklistQuestion() { Id = Guid.NewGuid(), Question = question, Checklist = checklist, CategoryNumber = 1, QuestionNumber = 4 }); checklist.UpdateAnswers(answersList, new UserForAuditing()); //when var result = checklist.CopyToSiteWithResponses(siteId, clientId, userForAuditing, copiedByUserName, false); //then Assert.That(result.Answers.Count, Is.EqualTo(1)); Assert.That(result.Answers[0].Question.Id, Is.EqualTo(checklist.Answers[0].Question.Id)); Assert.AreEqual(null, result.Answers[0].SupportingDocumentationDate); }
public void given_checklist_when_copyWithResponses_then_Answers_to_all_non_mandatory_questions_are_set() { //given var siteId = 213123; var clientId = 54321; var userForAuditing = new UserForAuditing() { Id = Guid.NewGuid() }; var copiedByUserName = "******"; var question1 = Question.Create(Guid.NewGuid(), "Title", new Category() { Id = Guid.NewGuid(), Title = "Care" }, true, userForAuditing); var responseId = Guid.NewGuid(); var questionResponse1 = new QuestionResponse() { Id = responseId, Title = "Acceptable", SupportingEvidence = "sp", GuidanceNotes = "the guidance notes", ActionRequired = "the action required", ResponseType = "Positive", Question = question1, }; var questionResponse2 = new QuestionResponse() { Id = Guid.NewGuid(), Question = question1, Title = "Unacceptable", ResponseType = "Negative"}; question1.PossibleResponses.Add(questionResponse1); question1.PossibleResponses.Add(questionResponse2); var answer = new ChecklistAnswer() { Id = Guid.NewGuid(), AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() }, EmployeeNotListed = "employee not listed", Timescale = new Timescale() { Id = 2L }, Question = question1, Response = new QuestionResponse() { Id = responseId, Title = "Acceptable", SupportingEvidence = "sp", GuidanceNotes = "the guidance notes", ActionRequired = "the action required", ResponseType = "Positive", Question = question1, }, SupportingDocumentationDate = DateTime.Now.Date, SupportingDocumentationStatus = "SS", SupportingEvidence = "se" }; var answersList = new List<ChecklistAnswer>() { answer }; var checklist = new Checklist() { Id = Guid.NewGuid() }; checklist.Questions.Add(new ChecklistQuestion() { Id = Guid.NewGuid(), Question = question1, Checklist = checklist, CategoryNumber = 1, QuestionNumber = 4 }); checklist.UpdateAnswers(answersList, new UserForAuditing()); //when var result = checklist.CopyToSiteWithResponses(siteId, clientId, userForAuditing, copiedByUserName, false); Assert.That(result.Answers.Count, Is.EqualTo(checklist.Answers.Count())); Assert.That(result.Answers[0].Id, Is.Not.EqualTo(checklist.Answers[0].Id)); Assert.That(result.Answers[0].Question.Id, Is.Not.EqualTo(checklist.Answers[0].Question.Id)); Assert.That(result.Answers[0].Timescale, Is.EqualTo(null)); Assert.That(result.Answers[0].AssignedTo, Is.EqualTo(null)); Assert.That(result.Answers[0].EmployeeNotListed, Is.EqualTo(checklist.Answers[0].EmployeeNotListed)); Assert.That(result.Answers[0].Response.Question.Id, Is.Not.EqualTo(checklist.Answers[0].Question.Id)); Assert.That(result.Answers[0].Response.Title, Is.EqualTo(checklist.Answers[0].Response.Title)); Assert.That(result.Answers[0].Response.ActionRequired, Is.EqualTo(checklist.Answers[0].Response.ActionRequired)); Assert.That(result.Answers[0].Response.GuidanceNotes, Is.EqualTo(checklist.Answers[0].Response.GuidanceNotes)); Assert.That(result.Answers[0].Response.SupportingEvidence, Is.EqualTo(checklist.Answers[0].Response.SupportingEvidence)); Assert.That(result.Answers[0].Response.SupportingEvidence, Is.EqualTo(checklist.Answers[0].Response.SupportingEvidence)); Assert.That(result.Answers[0].Response.ResponseType, Is.EqualTo(checklist.Answers[0].Response.ResponseType)); }