示例#1
0
        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);
        }