public void UpsertStaticHelpAndFAQPageDataAsyncShouldValidate(HelpAndFaqsContent helpAndFaqsInput, JArray helpAndFaqsDBData, dynamic expectedResult) { var expectedName = "HelpAndFAQPage"; var dbResponse = dynamicQueries.FindItemsWhereWithLocationAsync(cosmosDbSettings.StaticResourcesCollectionId, Constants.Name, helpAndFaqsInput.Name, new Location()); dbResponse.ReturnsForAnyArgs(helpAndFaqsDBData); Document updatedDocument = new Document(); JsonTextReader reader = new JsonTextReader(new StringReader(StaticResourceTestData.updatedHelpAndFAQContent)); updatedDocument.LoadFrom(reader); backendDatabaseService.CreateItemAsync <dynamic>( Arg.Any <HelpAndFaqsContent>(), Arg.Any <string>()).ReturnsForAnyArgs <Document>(updatedDocument); backendDatabaseService.UpdateItemAsync <dynamic>( Arg.Any <string>(), Arg.Any <HelpAndFaqsContent>(), Arg.Any <string>()).ReturnsForAnyArgs <Document>(updatedDocument); //act var response = staticResourceBusinessLogic.UpsertStaticHelpAndFAQPageDataAsync(helpAndFaqsInput); expectedResult = JsonConvert.SerializeObject(expectedResult); var actualResult = JsonConvert.SerializeObject(response.Result); //assert Assert.Contains(expectedName, expectedResult); }
public async Task <IActionResult> UpsertStaticHelpAndFAQPageDataAsync([FromBody] HelpAndFaqsContent helpAndFAQPageContent) { if (await userRoleBusinessLogic.ValidateOrganizationalUnit(helpAndFAQPageContent.OrganizationalUnit)) { var contents = await staticResourceBusinessLogic.UpsertStaticHelpAndFAQPageDataAsync(helpAndFAQPageContent); return(Ok(contents)); } return(StatusCode(403)); }
public async Task<dynamic> UpsertStaticHelpAndFAQPageDataAsync(HelpAndFaqsContent helpAndFAQPageContent) { dynamic result = null; var pageDBData = await dbClient.FindItemsWhereWithLocationAsync(dbSettings.StaticResourcesCollectionId, Constants.Name, helpAndFAQPageContent.Name, helpAndFAQPageContent.Location.FirstOrDefault()); if (pageDBData?.Count > 0) { string id = pageDBData[0].id; helpAndFAQPageContent.Id = id; var pageDocument = JsonUtilities.DeserializeDynamicObject<object>(helpAndFAQPageContent); result = await dbService.UpdateItemAsync(id, pageDocument, dbSettings.StaticResourcesCollectionId); } else { var pageDocument = JsonUtilities.DeserializeDynamicObject<object>(helpAndFAQPageContent); result = await dbService.CreateItemAsync(pageDocument, dbSettings.StaticResourcesCollectionId); } return result; }