public void MoveToNextQuestion_ReturnsZero_IfNoCurrentCode() { var sut = new FilteredAssessmentState { RecordedAnswers = new[] { new Answer { TraitCode = "A", QuestionNumber = 1 }, new Answer { TraitCode = "B", QuestionNumber = 2 }, }, JobCategoryStates = new List <JobCategoryState> { new JobCategoryState("GS", "Government Services", "QS-1", new[] { new JobCategorySkill { Skill = "A" }, new JobCategorySkill { Skill = "B" }, new JobCategorySkill { Skill = "C" } }) } }; var result = sut.MoveToNextQuestion(); Assert.Equal(0, result); }
public void GetAnswersForCategory_ReturnsArray_IfNoCategory() { var sut = new FilteredAssessmentState { CurrentFilterAssessmentCode = "AC", RecordedAnswers = new [] { new Answer { TraitCode = "A", QuestionNumber = 1 }, new Answer { TraitCode = "B", QuestionNumber = 2 }, new Answer { TraitCode = "C", QuestionNumber = 3 }, }, JobCategoryStates = new List <JobCategoryState> { new JobCategoryState("AC", "Animal Care", "QS-1", new [] { new JobCategorySkill { Skill = "D", QuestionNumber = 4, QuestionId = "4" }, new JobCategorySkill { Skill = "A", QuestionNumber = 1, QuestionId = "1" } }, "1") } }; Assert.Single(sut.GetAnswersForCategory("AC"), a => a.Answer.TraitCode == "A"); }
public void RemoveAnswers_ForAJobCategory_IfNoCategories() { var sut = new FilteredAssessmentState { RecordedAnswers = new [] { new Answer { TraitCode = "D" }, new Answer { TraitCode = "B" }, new Answer { TraitCode = "C" }, new Answer { TraitCode = "E" }, new Answer { TraitCode = "A" } }, JobCategoryStates = {} }; sut.RemoveAnswersForCategory("GS"); Assert.Equal(sut.RecordedAnswers, sut.RecordedAnswers); }
public void CreateOrResetCategory_OnlyUpdatesQuestionNumber() { var questions = new[] { new Question { Order = 1, TraitCode = "A", QuestionId = "4" }, new Question { Order = 2, TraitCode = "B", QuestionId = "3" }, new Question { Order = 3, TraitCode = "C", QuestionId = "2" }, new Question { Order = 4, TraitCode = "D", QuestionId = "1" } }; var sut = new FilteredAssessmentState { CurrentFilterAssessmentCode = "AC", JobCategoryStates = new List <JobCategoryState> { new JobCategoryState("AC", "Animal Care", "QS-1", new [] { new JobCategorySkill { Skill = "D", QuestionNumber = 4, QuestionId = "4" }, new JobCategorySkill { Skill = "A", QuestionNumber = 1, QuestionId = "1" } }, "1") } }; sut.CreateOrResetCategoryState("QS-1", questions, new JobCategory { Name = "Animal Care", Skills = new List <JobProfileSkillMapping> { new JobProfileSkillMapping { ONetAttribute = "D" }, new JobProfileSkillMapping { ONetAttribute = "A" } } }); Assert.Contains(sut.JobCategoryStates, jc => jc.JobCategoryCode == "AC"); Assert.Equal("QS-1", sut.QuestionSetVersion); Assert.Equal(1, sut.CurrentQuestion); Assert.Equal("1", sut.CurrentQuestionId); }
public void RemoveAnswers_ForAJobCategory() { var sut = new FilteredAssessmentState { RecordedAnswers = new[] { new Answer { TraitCode = "D" }, new Answer { TraitCode = "B" }, new Answer { TraitCode = "C" }, new Answer { TraitCode = "E" }, new Answer { TraitCode = "A" } }, JobCategoryStates = new List <JobCategoryState> { new JobCategoryState("GS", "Government Services", "QS-1", new[] { new JobCategorySkill { Skill = "A" }, new JobCategorySkill { Skill = "B" }, new JobCategorySkill { Skill = "C" } }) } }; sut.RemoveAnswersForCategory("GS"); Assert.DoesNotContain(sut.RecordedAnswers, a => a.TraitCode == "A" || a.TraitCode == "B" || a.TraitCode == "C"); }
public void TryGetCategoryState_ReturnsTrue_IfCategory() { var sut = new FilteredAssessmentState { CurrentFilterAssessmentCode = "AC", JobCategoryStates = new List <JobCategoryState> { new JobCategoryState("AC", "Animal Care", "QS-1", new [] { new JobCategorySkill { Skill = "D", QuestionNumber = 4, QuestionId = "4" }, new JobCategorySkill { Skill = "A", QuestionNumber = 1, QuestionId = "1" } }, "1") } }; Assert.True(sut.TryGetJobCategoryState("AC", out var cat)); Assert.NotNull(cat); Assert.Equal("QS-1", cat.QuestionSetVersion); }
public void GetAnswersForCategory_ReturnsEmptyArray_IfNoCategory() { var sut = new FilteredAssessmentState(); Assert.Empty(sut.GetAnswersForCategory("AC")); }
public void TryGetCategoryState_ReturnsFalse_IfNoCategory() { var sut = new FilteredAssessmentState(); Assert.False(sut.TryGetJobCategoryState("GS", out var _)); }