public void When_InitiateDysacWithErrors_ThrowException() { var userSession = new DfcUserSession(); userSession.PartitionKey = "key"; var restClient = Substitute.For <IRestClient>(); var lastResponse = Substitute.For <RestClient.APIResponse>(new HttpResponseMessage() { Content = new StringContent("something", Encoding.UTF8), StatusCode = HttpStatusCode.BadRequest }); restClient.LastResponse.Returns(lastResponse); restClient.PostAsync <AssessmentShortResponse>(apiPath: "", content: null).ReturnsForAnyArgs(new AssessmentShortResponse() { CreatedDate = DateTime.Now, SessionId = "sesionId", Salt = "salt", PartitionKey = "p-key" }); IDysacSessionReader dysacService = new DysacService(_log, restClient, _dysacServiceSetings, _oldDysacServiceSetings, _sessionClient); Assert.ThrowsAsync <DysacException>(() => dysacService.InitiateDysac(userSession)); }
public async Task When_InitiateDysacOnlySessionWithNoErrors_ReturnOK() { var userSession = new DfcUserSession(); userSession.PartitionKey = "key"; var lastResponse = Substitute.For <RestClient.APIResponse>(new HttpResponseMessage() { Content = new StringContent("something", Encoding.UTF8), StatusCode = HttpStatusCode.Created }); _restClient.LastResponse.Returns(lastResponse); _restClient.PostAsync <AssessmentShortResponse>(Arg.Any <string>(), Arg.Any <HttpRequestMessage>()) .ReturnsForAnyArgs(new AssessmentShortResponse { CreatedDate = DateTime.Now, SessionId = "sesionId", Salt = "salt", PartitionKey = "p-key" } ); IDysacSessionReader dysacService = new DysacService(_log, _restClient, _dysacServiceSetings, _oldDysacServiceSetings, _sessionClient); await dysacService.InitiateDysacOnly(); }
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 When_LoadExistingDysacOnlyAssessmentReturnsValidResponse_ReturnOK() { _restClient.GetAsync <AssessmentShortResponse>(Arg.Any <string>(), Arg.Any <HttpRequestMessage>()).ReturnsForAnyArgs(new AssessmentShortResponse() { CreatedDate = DateTime.Now, PartitionKey = "partitionkey", SessionId = "session", Salt = "salt" }); var lastResponse = Substitute.For <RestClient.APIResponse>(new HttpResponseMessage() { Content = new StringContent("something", Encoding.UTF8), StatusCode = HttpStatusCode.Created }); _restClient.LastResponse.Returns(lastResponse); var dysacService = new DysacService(_log, _restClient, _dysacServiceSetings, _oldDysacServiceSetings, _sessionClient); await dysacService.LoadExistingDysacOnlyAssessment("session"); }
public void Init() { _logger = Substitute.For <ILogger <DysacService> >(); _client = Substitute.For <IRestClient>(); _sessionClient = Substitute.For <ISessionClient>(); _settings = Options.Create(new DysacSettings() { ApiKey = "9238dfjsjdsidfs83fds", ApiUrl = "https://this.is.anApi.org.uk", ApiVersion = "v1", DysacReturnUrl = "SomeURL", DysacSaveUrl = "SaveURL", DysacUrl = "DysacURL" }); _oldDysacSettings = Options.Create(new OldDysacSettings() { ApiKey = "9238dfjsjdsidfs83fds", AssessmentApiUrl = "https://this.is.anApi.org.uk", DysacResultsUrl = "https://this.is.anApi.org.uk", }); _service = new DysacService(_logger, _client, _settings, _oldDysacSettings, _sessionClient); }
public void When_DysacService_ObjectCreated() { var logger = Substitute.For <ILogger <DysacService> >(); var restClient = Substitute.For <IRestClient>(); var dysacService = new DysacService(logger, restClient, _dysacServiceSetings, _oldDysacServiceSetings, _sessionClient); }