public async Task <Document> ImportCuratedTemplate(JObject guideTemplate, Guid newTemplateId) { var curatedExprienceJson = a2jAuthorBuisnessLogic.ConvertA2JAuthorToCuratedExperience(guideTemplate, true); curatedExprienceJson.A2jPersonalizedPlanId = newTemplateId; return(await backendDatabaseService.UpdateItemAsync(curatedExprienceJson.CuratedExperienceId.ToString(), JObject.FromObject(curatedExprienceJson), cosmosDbSettings.CuratedExperiencesCollectionId)); }
public IActionResult ImportA2JAuthorGuidedInterview([FromBody] JObject a2jSchema) { try { JObject.Parse(a2jSchema.ToString()); return(Json(a2jAuthorBuisnessLogic.ConvertA2JAuthorToCuratedExperience(a2jSchema))); } catch { return(BadRequest("The schema you sent does not have a valid json.")); } }
public void ConvertA2JAuthorToCuratedExperienceShouldConstructValidJson() { // Arrange var a2j = A2JAuthorTestData.A2JAuthorSampleSchema; var a2jJson = (JObject)JsonConvert.DeserializeObject(a2j); var curatedExperienceJson = a2jAuthor.ConvertA2JAuthorToCuratedExperience(a2jJson); var expectedComponantText = "Enter your name."; var expectedButtonLabel = "Continue"; var expectedFieldLabel = "First"; // Act var componentFromA2jJson = curatedExperienceJson.Components.Where(x => x.Name == "1-Name").First(); var buttonFromA2jJson = componentFromA2jJson.Buttons.First(); var fieldFromA2jJson = componentFromA2jJson.Fields.First(); // Assert Assert.Equal(expectedButtonLabel, buttonFromA2jJson.Label); Assert.Contains(expectedFieldLabel, fieldFromA2jJson.Label, StringComparison.InvariantCultureIgnoreCase); Assert.Contains(expectedComponantText, componentFromA2jJson.Text, StringComparison.InvariantCultureIgnoreCase); }