public async Task ReturnSuccessfulOfmQueryResult_UsingPatch() { await Task.Run(async() => { // Arrange using (var testAppConfiguration = new AppConfigurationMock(File.ReadAllText(Path.GetDirectoryName(typeof(Startup).GetTypeInfo().Assembly.Location) + "\\appsettings.json"))) { // ARRANGE var httpContextAccessorMock = new Mock <IHttpContextAccessor>(); var httpRequestHandlerMock = new Mock <IHttpRequestExecuter>(); var genericAsyncGppdOfm = new CategoryApiModelRepository( testAppConfiguration.Instance, httpContextAccessorMock.Object, httpRequestHandlerMock.Object); var returnedCategoryOfmForGet = new CategoryOfmForGet() { Id = 1, Name = "UpdatedCategoryName" }; var patchDocument = new JsonPatchDocument() { Operations = { new Operation <CategoryOfmForPatch>("replace", "/Name", null, "UpdatedCategoryName") } }; var uri = new Uri(testAppConfiguration.Instance.GetValue <string>("FittifyApiBaseUrl") + "api/categories/1"); var httpResponse = new HttpResponseMessage(); httpResponse.Content = new StringContent(JsonConvert.SerializeObject(returnedCategoryOfmForGet)); httpResponse.StatusCode = HttpStatusCode.OK; httpRequestHandlerMock.Setup(s => s.Patch(uri, patchDocument, testAppConfiguration.Instance, httpContextAccessorMock.Object)).ReturnsAsync(httpResponse); // ACT var ofmQueryResult = await genericAsyncGppdOfm.Patch(1, patchDocument); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedOfmQueryResult = @" { ""OfmForGet"": { ""Id"": 1, ""Name"": ""UpdatedCategoryName"" }, ""HttpStatusCode"": 200, ""HttpResponseHeaders"": [], ""ErrorMessagesPresented"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); } }); }
public async Task ReturnOfmQueryResultWithErrorMessasges_UsingGetCollection() { await Task.Run(async() => { // Arrange using (var testAppConfiguration = new AppConfigurationMock(File.ReadAllText(Path.GetDirectoryName(typeof(Startup).GetTypeInfo().Assembly.Location) + "\\appsettings.json"))) { // ARRANGE var httpContextAccessorMock = new Mock <IHttpContextAccessor>(); var httpRequestHandlerMock = new Mock <IHttpRequestExecuter>(); var genericAsyncGppdOfm = new CategoryApiModelRepository( testAppConfiguration.Instance, httpContextAccessorMock.Object, httpRequestHandlerMock.Object); var returnedOfmCollectionQueryResult = new Dictionary <string, object>() { { "categories", new List <string>() { "Some error message", "Some other error message" } } }; var resourceParameters = new CategoryOfmCollectionResourceParameters(); var uri = new Uri(testAppConfiguration.Instance.GetValue <string>("FittifyApiBaseUrl") + "api/categories" + resourceParameters.ToQueryParameterString()); var httpResponse = new HttpResponseMessage(); httpResponse.Content = new StringContent(JsonConvert.SerializeObject(returnedOfmCollectionQueryResult)); httpResponse.StatusCode = HttpStatusCode.BadRequest; httpRequestHandlerMock.Setup(s => s.GetCollection(uri, testAppConfiguration.Instance, httpContextAccessorMock.Object)).ReturnsAsync(httpResponse); // ACT var ofmQueryResult = await genericAsyncGppdOfm.GetCollection(resourceParameters); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }).MinifyJson().PrettifyJson(); var expectedOfmQueryResult = @" { ""OfmForGetCollection"": null, ""HttpStatusCode"": 400, ""HttpResponseHeaders"": [], ""ErrorMessagesPresented"": { ""categories"": [ ""Some error message"", ""Some other error message"" ] } } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); } }); }