public void CreateChecklistAnswerShouldFailWhenNameIsNull() { // Arrange string _answer = null; // Act var result = new ChecklistAnswer(id, _answer, imageUrl, videoUrl, action, linksTo); }
public void Given_an_answer_has_been_changed_when_UpdateAnswers_then_answers_update() { // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), ActionRequired = "the action required", AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() } , EmployeeNotListed = "employee not listed", GuidanceNotes = "the guidance notes", SupportingEvidence = "the supporting evidence", Question = new Question() { Id = new Guid() } , Response = new QuestionResponse() { Id = Guid.NewGuid() } , Timescale = new Timescale() { Id = 2L } }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, ActionRequired = "the action required updated", AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() } , EmployeeNotListed = "employee not listed updated", GuidanceNotes = "the guidance notes updated", SupportingEvidence = "the supporting evidence updated", Question = originalAnswer.Question , Response = new QuestionResponse() { Id = Guid.NewGuid() } , Timescale = new Timescale() { Id = 5L } }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); // When Assert.That(checklist.Answers.Count, Is.EqualTo(1)); Assert.That(checklist.Answers.First().ActionRequired, Is.EqualTo(newAnswer.ActionRequired)); Assert.That(checklist.Answers.First().AssignedTo, Is.EqualTo(newAnswer.AssignedTo)); Assert.That(checklist.Answers.First().EmployeeNotListed, Is.EqualTo(newAnswer.EmployeeNotListed)); Assert.That(checklist.Answers.First().GuidanceNotes, Is.EqualTo(newAnswer.GuidanceNotes)); Assert.That(checklist.Answers.First().SupportingEvidence, Is.EqualTo(newAnswer.SupportingEvidence)); Assert.That(checklist.Answers.First().Question, Is.EqualTo(originalAnswer.Question)); Assert.That(checklist.Answers.First().Response, Is.EqualTo(newAnswer.Response)); Assert.That(checklist.Answers.First().Timescale, Is.EqualTo(newAnswer.Timescale)); Assert.That(checklist.Answers.First().LastModifiedBy, Is.Not.Null); Assert.That(checklist.Answers.First().LastModifiedOn, Is.Not.Null); }
public void CreateChecklistAnswerShouldSucceed() { // Arrange // Act var result = new ChecklistAnswer(id, answer, imageUrl, videoUrl, action, linksTo); // Assert result.Action.Should().Be(action); result.Answer.Should().Be(answer); result.Image.Should().Be(imageUrl); result.LinksTo.Should().Be(linksTo); result.QuestionId.Should().Be(id); result.Video.Should().Be(videoUrl); }
private List<ChecklistAnswer> ChecklistAnswers(ChecklistViewModel model, List<QuestionResponse> allResponses, List<Question> allQuestions, UserForAuditing user) { var checklistAnswers = new List<ChecklistAnswer>(); foreach (var questionAnswerViewModel in model.Questions.Where(x => x.Answer != null)) { var checklistAnswer = new ChecklistAnswer(); checklistAnswer.SupportingEvidence = questionAnswerViewModel.Answer.SupportingEvidence; checklistAnswer.ActionRequired = questionAnswerViewModel.Answer.ActionRequired; checklistAnswer.GuidanceNotes = questionAnswerViewModel.Answer.GuidanceNotes; checklistAnswer.Timescale = questionAnswerViewModel.Answer.Timescale != null ? _timescaleRepository.GetById(questionAnswerViewModel.Answer.Timescale.Id) : null; checklistAnswer.Response = allResponses.SingleOrDefault( response => response.Id == questionAnswerViewModel.Answer.SelectedResponseId); checklistAnswer.Question = allQuestions.Single(question => question.Id == questionAnswerViewModel.Question.Id); checklistAnswer.AssignedTo = (questionAnswerViewModel.Answer.AssignedTo != null) && (questionAnswerViewModel.Answer.AssignedTo.Id.HasValue) && (questionAnswerViewModel.Answer.AssignedTo.Id.Value != Guid.Empty) ? _employeeRespository.GetById((questionAnswerViewModel.Answer.AssignedTo.Id.GetValueOrDefault())) : null; checklistAnswer.EmployeeNotListed = (questionAnswerViewModel.Answer.AssignedTo != null) && (questionAnswerViewModel.Answer.AssignedTo.Id.HasValue) && (questionAnswerViewModel.Answer.AssignedTo.Id.Value == Guid.Empty) ? questionAnswerViewModel.Answer.AssignedTo.NonEmployeeName : null; checklistAnswer.QaComments = questionAnswerViewModel.Answer.QaComments; if (questionAnswerViewModel.Answer.QaSignedOffBy != null) { checklistAnswer.QaSignedOffBy = questionAnswerViewModel.Answer.QaSignedOffBy + "_" + DateTime.Now.Date; } checklistAnswer.CreatedBy = user; checklistAnswer.CreatedOn = DateTime.Now; checklistAnswer.LastModifiedBy = user; checklistAnswer.LastModifiedOn = DateTime.Now; checklistAnswers.Add(checklistAnswer); } return checklistAnswers; }
private static AnswerViewModel Map(ChecklistAnswer answer, Question question) { if (answer != null) { AnswerViewModel model = new AnswerViewModel() { SupportingEvidence = answer.SupportingEvidence, ActionRequired = answer.ActionRequired, SelectedResponseId = answer.Response != null ? (Guid?) answer.Response.Id : null, QuestionId = answer.Question.Id, GuidanceNotes = answer.GuidanceNotes, Timescale = answer.Timescale == null ? null : new TimescaleViewModel() {Id = answer.Timescale.Id, Name = answer.Timescale.Name}, AssignedTo = null, QaComments = answer.QaComments, QaSignedOffBy = answer.QaSignedOffBy, ReportLetterStatement = answer.Response != null ? answer.Response.ReportLetterStatement : "" }; if (answer.AssignedTo != null) { model.AssignedTo = new AssignedToViewModel() { Id = (Guid?) answer.AssignedTo.Id, NonEmployeeName = answer.AssignedTo.FullName }; } else if (!string.IsNullOrEmpty(answer.EmployeeNotListed)) { model.AssignedTo = new AssignedToViewModel() { Id = (Guid?) Guid.Empty, NonEmployeeName = answer.EmployeeNotListed }; } return model; } else { return new AnswerViewModel() { QuestionId = question.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)); }
public void Given_answer_has_previously_been_given_when_a_question_without_an_answer_is_saved_then_original_answer_is_not_removed() { var originalResponseId = Guid.NewGuid(); var originalLastModifiedOn = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() {Id = new Guid()}, LastModifiedOn = originalLastModifiedOn, SupportingDocumentationStatus = "Reported", Response = new QuestionResponse() {Id = originalResponseId} }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, Response = null }; var newAnswers = new List<ChecklistAnswer>() {newAnswer}; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().SupportingDocumentationStatus, Is.EqualTo("Reported")); Assert.That(checklist.Answers.First().LastModifiedOn.Value, Is.EqualTo(originalLastModifiedOn)); Assert.That(checklist.Answers.First().Response.Id, Is.EqualTo(originalResponseId)); }
public void Given_answer_supporting_documentation_date_changed_then_supporting_documentation_date_updated() { var originalLastModifiedOn = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() }, Response = new QuestionResponse() { Id = Guid.NewGuid() } , LastModifiedOn = originalLastModifiedOn, SupportingDocumentationStatus = "Reported" }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, SupportingDocumentationStatus = "Reported", SupportingDocumentationDate = DateTime.Now.AddDays(-51), Response = originalAnswer.Response }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().SupportingDocumentationDate, Is.EqualTo(newAnswer.SupportingDocumentationDate)); Assert.That(checklist.Answers.First().LastModifiedOn.Value.Date, Is.EqualTo(DateTime.Now.Date)); }
private List<ChecklistAnswer> ChecklistAnswers(Checklist checklist, ChecklistViewModel model, UserForAuditing user) { var allResponses = GetAllResponses(checklist); var allQuestions = GetAllQuestions(checklist); var checklistAnswers = new List<ChecklistAnswer>(); foreach (var questionAnswerViewModel in model.Questions.Where(x => x.Answer != null)) { var checklistAnswer = new ChecklistAnswer(); checklistAnswer.SupportingEvidence = questionAnswerViewModel.Answer.SupportingEvidence; checklistAnswer.ActionRequired = questionAnswerViewModel.Answer.ActionRequired; checklistAnswer.GuidanceNotes = questionAnswerViewModel.Answer.GuidanceNotes; checklistAnswer.Timescale = questionAnswerViewModel.Answer.Timescale != null ? _timescaleRepository.GetById(questionAnswerViewModel.Answer.Timescale.Id) : null; checklistAnswer.Response = allResponses.SingleOrDefault( response => response.Id == questionAnswerViewModel.Answer.SelectedResponseId); checklistAnswer.Question = allQuestions.Single(question => question.Id == questionAnswerViewModel.Question.Id); checklistAnswer.AssignedTo = AssignedToHasValue(questionAnswerViewModel) ? _employeeRespository.GetById((questionAnswerViewModel.Answer.AssignedTo.Id.GetValueOrDefault())) : null; checklistAnswer.EmployeeNotListed = (questionAnswerViewModel.Answer.AssignedTo != null) && (questionAnswerViewModel.Answer.AssignedTo.Id.HasValue) && (questionAnswerViewModel.Answer.AssignedTo.Id.Value == Guid.Empty) ? questionAnswerViewModel.Answer.AssignedTo.NonEmployeeName : null; checklistAnswer.QaComments = questionAnswerViewModel.Answer.QaComments; checklistAnswer.QaCommentsResolved = questionAnswerViewModel.Answer.QaCommentsResolved; checklistAnswer.AreaOfNonCompliance = questionAnswerViewModel.Answer.AreaOfNonCompliance; if (questionAnswerViewModel.Answer.QaSignedOffBy != null) { if (IsOldQaSignedOffFormat(questionAnswerViewModel)) { checklistAnswer.QaSignedOffBy = GetQaAdvisorFromOldQaSignedOffFormat(questionAnswerViewModel); checklistAnswer.QaSignedOffDate = GetSignOffDateFromOldQaSignedOffFormat(questionAnswerViewModel).HasValue ? GetSignOffDateFromOldQaSignedOffFormat(questionAnswerViewModel).Value : DateTime.Now; } else { checklistAnswer.QaSignedOffBy = questionAnswerViewModel.Answer.QaSignedOffBy; checklistAnswer.QaSignedOffDate = questionAnswerViewModel.Answer.QaSignedOffDate.HasValue ? questionAnswerViewModel.Answer.QaSignedOffDate.Value.ToLocalTime() : DateTime.Now; } } checklistAnswer.CreatedBy = user; checklistAnswer.CreatedOn = DateTime.Now; checklistAnswer.LastModifiedBy = user; checklistAnswer.LastModifiedOn = DateTime.Now; checklistAnswer.SupportingDocumentationStatus = questionAnswerViewModel.Answer.SupportingDocumentationStatus; checklistAnswer.SupportingDocumentationDate = questionAnswerViewModel.Answer.SupportingDocumentationDate.ToLocalTime(); checklistAnswers.Add(checklistAnswer); } return checklistAnswers; }
public void Given_answer_QA_signed_off_date_is_null_then_lastmodifed_not_changed() { var originalLastModifiedOn = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() } , LastModifiedOn = originalLastModifiedOn }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().LastModifiedOn, Is.EqualTo(originalLastModifiedOn)); }
public void Given_answer_QA_signed_off_date_has_been_removed_then_date_is_null() { var originalQaSignedOffDate = new DateTime(2013, 12, 01, 15, 15, 15, 123); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() }, LastModifiedBy = new UserForAuditing() { Id = Guid.NewGuid() }, LastModifiedOn = DateTime.Now.AddDays(-5), QaSignedOffBy = "David Brieley", QaSignedOffDate = originalQaSignedOffDate, Response = new QuestionResponse() { Id = Guid.NewGuid() }, }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, QaSignedOffBy = "David Brieley", QaSignedOffDate = null, Response = originalAnswer.Response }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().QaSignedOffDate, Is.Null); }
public void Given_answer_QA_signed_off_date_hasnt_change_then_qa_name_and_date_are_not_saved() { var originalQaSignedOffDate = new DateTime(2013, 12, 01, 15, 15, 15, 123); var originalLastModifiedOn = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() }, LastModifiedBy = new UserForAuditing() { Id = Guid.NewGuid() }, LastModifiedOn = originalLastModifiedOn, QaSignedOffBy = "David Brieley" , QaSignedOffDate = originalQaSignedOffDate }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, QaSignedOffBy = "David Brieley" , QaSignedOffDate = new DateTime(2013, 12, 01, 15, 15, 15, 12) }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().LastModifiedOn, Is.EqualTo(originalLastModifiedOn)); Assert.That(checklist.Answers.First().QaSignedOffDate.Value, Is.EqualTo(originalQaSignedOffDate)); }
public void Given_answer_is_signed_off_by_a_QA_then_qa_name_and_date_are_saved() { // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() }, Response = new QuestionResponse(){Id = Guid.NewGuid()} ,LastModifiedBy = new UserForAuditing() { Id = Guid.NewGuid() }, LastModifiedOn = DateTime.Now.AddDays(-5) }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, QaSignedOffBy = "David Brieley" ,QaSignedOffDate = DateTime.Now ,Response= originalAnswer.Response }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().QaSignedOffBy, Is.EqualTo(newAnswer.QaSignedOffBy)); Assert.That(checklist.Answers.First().QaSignedOffDate.Value, Is.EqualTo(newAnswer.QaSignedOffDate.Value)); }
public void Given_timescale_changed_when_UpdateAnswers_then_lastmodifiedDate_updated() { var originalLastModifiedByDate = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), ActionRequired = null, AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() }, EmployeeNotListed = "employee not listed", GuidanceNotes = "the guidance notes", SupportingEvidence = "the supporting evidence", Question = new Question() { Id = new Guid() }, Response = new QuestionResponse() { Id = Guid.NewGuid() }, Timescale = new Timescale() { Id = 2L }, LastModifiedBy = new UserForAuditing() { Id = Guid.NewGuid() }, LastModifiedOn = originalLastModifiedByDate }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, ActionRequired = originalAnswer.ActionRequired, AssignedTo = originalAnswer.AssignedTo, EmployeeNotListed = originalAnswer.EmployeeNotListed, GuidanceNotes = originalAnswer.GuidanceNotes, SupportingEvidence = originalAnswer.SupportingEvidence, Question = originalAnswer.Question, Response = originalAnswer.Response, Timescale = new Timescale() { Id = 12L } }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); // When Assert.That(checklist.Answers.Count, Is.EqualTo(1)); Assert.That(checklist.Answers.First().Timescale, Is.EqualTo(newAnswer.Timescale)); Assert.That(checklist.Answers.First().LastModifiedOn.Value.Date, Is.EqualTo(DateTime.Now.Date)); }
public void Given_answer_area_of_non_compliance_changed_then_area_of_non_compliance_updated() { var originalLastModifiedOn = DateTime.Now.AddDays(-5); // Given var originalAnswer = new ChecklistAnswer() { Id = Guid.NewGuid(), Question = new Question() { Id = new Guid() } ,Response = new QuestionResponse(){Id = Guid.NewGuid()} ,LastModifiedOn = originalLastModifiedOn }; var newAnswer = new ChecklistAnswer() { Id = originalAnswer.Id, Question = originalAnswer.Question, Response = originalAnswer.Response, AreaOfNonCompliance = "you have 1 second to comply" }; var newAnswers = new List<ChecklistAnswer>() { newAnswer }; var checklist = new Checklist(); checklist.Answers.Add(originalAnswer); checklist.UpdateAnswers(newAnswers, new UserForAuditing()); Assert.That(checklist.Answers.First().AreaOfNonCompliance, Is.EqualTo(newAnswer.AreaOfNonCompliance)); Assert.That(checklist.Answers.First().LastModifiedOn.Value.Date, Is.EqualTo(DateTime.Now.Date)); }
private static AnswerViewModel Map(ChecklistAnswer answer, Question question) { if (answer != null) { AnswerViewModel model = new AnswerViewModel() { SupportingEvidence = answer.SupportingEvidence, ActionRequired = answer.ActionRequired, SelectedResponseId = answer.Response != null ? (Guid?) answer.Response.Id : null, QuestionId = answer.Question.Id, GuidanceNotes = answer.GuidanceNotes, Timescale = answer.Timescale == null ? null : new TimescaleViewModel() {Id = answer.Timescale.Id, Name = answer.Timescale.Name}, AssignedTo = null, QaComments = answer.QaComments, QaSignedOffBy = answer.QaSignedOffBy, QaSignedOffDate = answer.QaSignedOffDate, ReportLetterStatement = answer.Response != null ? answer.Response.ReportLetterStatement : "", QaCommentsResolved = answer.QaCommentsResolved, AreaOfNonCompliance = answer.AreaOfNonCompliance, SupportingDocumentationStatus = answer.SupportingDocumentationStatus, SupportingDocumentationDate = answer.SupportingDocumentationDate.ToUniversalTime() }; if (answer.AssignedTo != null) { model.AssignedTo = new AssignedToViewModel() { Id = (Guid?) answer.AssignedTo.Id, ForeName = answer.AssignedTo.Forename, Surname = answer.AssignedTo.Surname, FullName = answer.AssignedTo.FullName, EmailAddress = answer.AssignedTo.HasEmail ? answer.AssignedTo.GetEmail() : string.Empty }; } else if (!string.IsNullOrEmpty(answer.EmployeeNotListed)) { model.AssignedTo = new AssignedToViewModel() { Id = (Guid?) Guid.Empty, NonEmployeeName = answer.EmployeeNotListed }; } return model; } else { return new AnswerViewModel() { QuestionId = question.Id }; } }