public async Task WhenNullResponse_ReturnEmpty()
        {
            _client = Substitute.For <IRestClient>();
            _client.GetAsync <DysacResults>(Arg.Any <string>()).ReturnsNullForAnyArgs();
            _service = new DysacService(_logger, _client, _settings, _oldDysacSettings, _sessionClient);
            var result = await _service.GetDysacJobCategories("SessionId");

            result.Should().BeEmpty();
        }
        public async Task WhenApiSuccess_ReturnDysacResults()
        {
            var response = new DysacServiceResponse();

            response.ResponseMessage = "message";
            response.ResponseMessage = "message";
            var returnObject = Mapping.Mapper.Map <DysacJobCategory[]>(DysacTestData.SuccessfulApiCall().JobCategories);

            _client = Substitute.For <IRestClient>();
            _client.GetAsync <DysacResults>(Arg.Any <string>(), Arg.Any <HttpRequestMessage>()).Returns(DysacTestData.SuccessfulApiCall());
            _service = new DysacService(_logger, _client, _settings, _oldDysacSettings, _sessionClient);
            var result = await _service.GetDysacJobCategories("SessionId");

            result[0].JobFamilyCode.Should().Be("CAM");
            result[0].JobFamilyName.Should().Be("Creative and media");
            result[0].JobFamilyUrl.Should().Be("creative-and-media");
        }
        public async Task WhenApiError_ReturnEmpty()
        {
            var oldDysacSettings = new OldDysacSettings()
            {
                ApiKey           = "key",
                AssessmentApiUrl = "Url",
                DysacResultsUrl  = "url"
            };
            var key        = oldDysacSettings.ApiKey;
            var assessment = oldDysacSettings.AssessmentApiUrl;
            var dysac      = oldDysacSettings.DysacResultsUrl;

            _client = Substitute.For <IRestClient>();
            _client.GetAsync <DysacResults>(Arg.Any <string>(), Arg.Any <HttpRequestMessage>()).Throws(new Exception("Exception"));
            _service = new DysacService(_logger, _client, _settings, Options.Create(oldDysacSettings), _sessionClient);
            var result = await _service.GetDysacJobCategories("SessionId");

            result.Should().BeNull();
            key.Should().Be(oldDysacSettings.ApiKey);
            assessment.Should().Be(oldDysacSettings.AssessmentApiUrl);
            dysac.Should().Be(oldDysacSettings.DysacResultsUrl);
        }
        public async Task WhenBlankSessionId_ReturnNull()
        {
            var result = await _service.GetDysacJobCategories("");

            result.Should().BeNull();
        }