public async Task ReturnOfmQueryResultWithErrorMessages_UsingDelete() { await Task.Run(async() => { // ARRANGE var categoryApiModelRepository = new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >(); var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>() { OfmForGet = null, ErrorMessagesPresented = new Dictionary <string, object>() { { "category", new List <string>() { "No category found for id=1" } } }, HttpStatusCode = HttpStatusCode.NotFound }; categoryApiModelRepository.Setup(s => s.Delete(1)).ReturnsAsync(returnedOfmQueryResult); var categoryViewModelRepository = new CategoryViewModelRepository(categoryApiModelRepository.Object); // ACT var ofmQueryResult = await categoryViewModelRepository.Delete(1); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }).MinifyJson() .PrettifyJson(); var expectedOfmQueryResult = @" { ""ViewModel"": null, ""HttpStatusCode"": 404, ""HttpResponseHeaders"": null, ""ErrorMessagesPresented"": { ""category"": [ ""No category found for id=1"" ] } } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); }); }
public async Task ReturnSuccessfulOfmQueryResult_UsingPost() { await Task.Run(async() => { // ARRANGE var categoryApiModelRepository = new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >(); var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>() { OfmForGet = new CategoryOfmForGet() { Id = 1, Name = "CategoryMock" }, HttpStatusCode = HttpStatusCode.Created }; var categoryOfmForPost = new CategoryOfmForPost() { Name = "CategoryMock" }; categoryApiModelRepository.Setup(s => s.Post(categoryOfmForPost)).ReturnsAsync(returnedOfmQueryResult); var categoryViewModelRepository = new CategoryViewModelRepository(categoryApiModelRepository.Object); // ACT var ofmQueryResult = await categoryViewModelRepository.Create(categoryOfmForPost); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }).MinifyJson() .PrettifyJson(); var expectedOfmQueryResult = @" { ""ViewModel"": { ""Id"": 1, ""Name"": ""CategoryMock"" }, ""HttpStatusCode"": 201, ""HttpResponseHeaders"": null, ""ErrorMessagesPresented"": null } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); }); }
public async Task ReturnOfmQueryResultWithErrorMessages_UsingGetById() { await Task.Run(async() => { using (var testAppConfiguration = new AppConfigurationMock(File.ReadAllText( Path.GetDirectoryName(typeof(Startup).GetTypeInfo().Assembly.Location) + "\\appsettings.json"))) { // ARRANGE var categoryApiModelRepository = new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >(); var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>() { OfmForGet = null, ErrorMessagesPresented = new Dictionary <string, object>() { { "category", new List <string>() { "Some error message", "Some other error message" } } }, HttpStatusCode = HttpStatusCode.BadRequest }; categoryApiModelRepository.Setup(s => s.GetSingle(1)).ReturnsAsync(returnedOfmQueryResult); var categoryViewModelRepository = new CategoryViewModelRepository(categoryApiModelRepository.Object); // ACT var ofmQueryResult = await categoryViewModelRepository.GetById(1); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }) .MinifyJson() .PrettifyJson(); var expectedOfmQueryResult = @" { ""ViewModel"": null, ""HttpStatusCode"": 400, ""HttpResponseHeaders"": null, ""ErrorMessagesPresented"": { ""category"": [ ""Some error message"", ""Some other error message"" ] } } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); } }); }
public async Task ReturnOfmQueryResultWithErrorMessges_UsingPartiallyUpdate() { await Task.Run(async() => { // ARRANGE var categoryApiModelRepository = new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >(); var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>() { OfmForGet = null, ErrorMessagesPresented = new Dictionary <string, object>() { { "category", new List <string>() { "Some error message", "Some other error message" } } }, HttpStatusCode = HttpStatusCode.BadRequest }; var categoryOfmForPost = new CategoryOfmForPost() { Name = "CategoryMock" }; categoryApiModelRepository.Setup(s => s.Patch(1, It.IsAny <JsonPatchDocument>())).ReturnsAsync(returnedOfmQueryResult); var categoryViewModelRepository = new CategoryViewModelRepository(categoryApiModelRepository.Object); // ACT var ofmQueryResult = await categoryViewModelRepository.PartiallyUpdate(1, new JsonPatchDocument()); // Assert var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult, new JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.Indented }).MinifyJson() .PrettifyJson(); var expectedOfmQueryResult = @" { ""ViewModel"": null, ""HttpStatusCode"": 400, ""HttpResponseHeaders"": null, ""ErrorMessagesPresented"": { ""category"": [ ""Some error message"", ""Some other error message"" ] } } ".MinifyJson().PrettifyJson(); Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult); }); }