public async Task RefreshNotRequiredOverrides_repopulates_the_session_cache_config() { var configuration = new List <NotRequiredOverrideConfiguration> { new NotRequiredOverrideConfiguration { Conditions = new List <NotRequiredCondition> { new NotRequiredCondition { ConditionalCheckField = "Field1", MustEqual = "Test" } }, SectionId = 1, SequenceId = 2 } }; _config.Setup(x => x.Value).Returns(configuration); var applicationData = new JObject { ["Field1"] = "Test" }; _apiClient.Setup(x => x.GetApplicationData(_applicationId)).ReturnsAsync(applicationData); _service = new NotRequiredOverridesService(_config.Object, _apiClient.Object, _sessionService.Object); await _service.RefreshNotRequiredOverridesAsync(_applicationId); _sessionService.Verify(x => x.Remove(_sessionKey), Times.Once); _sessionService.Verify(x => x.Set(_sessionKey, configuration), Times.Once); }
public async Task Not_required_overrides_retrieved_from_session_cache_if_already_looked_up_previously() { var configuration = new List <NotRequiredOverrideConfiguration> { new NotRequiredOverrideConfiguration { Conditions = new List <NotRequiredCondition> { new NotRequiredCondition { ConditionalCheckField = "Field1", MustEqual = "Test", Value = "NotTest" } }, SectionId = 1, SequenceId = 2 } }; _config.Setup(x => x.Value).Returns(configuration); var applicationData = new JObject { ["Field1"] = "Test" }; _apiClient.Setup(x => x.GetApplicationData(_applicationId)).ReturnsAsync(applicationData); _sessionService.Setup(x => x.Get <List <NotRequiredOverrideConfiguration> >(_sessionKey)).Returns(configuration); _sessionService.Setup(x => x.Set(_sessionKey, configuration)); _service = new NotRequiredOverridesService(_config.Object, _apiClient.Object, _sessionService.Object); var overrides = await _service.GetNotRequiredOverridesAsync(_applicationId); overrides[0].Conditions[0].Value.Should().Be("NotTest"); overrides[0].AllConditionsMet.Should().BeFalse(); }
public async Task Not_required_overrides_populated_with_answers_from_question_tags() { var configuration = new List <NotRequiredOverrideConfiguration> { new NotRequiredOverrideConfiguration { Conditions = new List <NotRequiredCondition> { new NotRequiredCondition { ConditionalCheckField = "Field1", MustEqual = "Test" } }, SectionId = 1, SequenceId = 2 } }; _config.Setup(x => x.Value).Returns(configuration); var applicationData = new JObject { ["Field1"] = "Test" }; _apiClient.Setup(x => x.GetApplicationData(_applicationId)).ReturnsAsync(applicationData); _sessionService.Setup(x => x.Get <List <NotRequiredOverrideConfiguration> >(_sessionKey)).ReturnsInOrder(null, configuration); _sessionService.Setup(x => x.Set(_sessionKey, configuration)); _service = new NotRequiredOverridesService(_config.Object, _apiClient.Object, _sessionService.Object); var overrides = await _service.GetNotRequiredOverridesAsync(_applicationId); overrides[0].Conditions[0].Value.Should().Be("Test"); overrides[0].AllConditionsMet.Should().BeTrue(); }
public async Task Not_required_overrides_unchanged_if_no_matching_tags_in_application_data() { var configuration = new List <NotRequiredOverrideConfiguration> { new NotRequiredOverrideConfiguration { Conditions = new List <NotRequiredCondition> { new NotRequiredCondition { ConditionalCheckField = "Field2", MustEqual = "Value" } }, SectionId = 1, SequenceId = 2 } }; _config.Setup(x => x.Value).Returns(configuration); var applicationData = new JObject { ["Field1"] = "Test" }; _apiClient.Setup(x => x.GetApplicationData(_applicationId)).ReturnsAsync(applicationData); _sessionService.Setup(x => x.Get <List <NotRequiredOverrideConfiguration> >(_sessionKey)).ReturnsInOrder(null, configuration); _sessionService.Setup(x => x.Set(_sessionKey, configuration)); _service = new NotRequiredOverridesService(_config.Object, _apiClient.Object, _sessionService.Object); var overrides = await _service.GetNotRequiredOverridesAsync(_applicationId); overrides[0].Conditions[0].Value.Should().BeEmpty(); overrides[0].AllConditionsMet.Should().BeFalse(); }