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