Beispiel #1
0
 public IntegrationTestTools_terminalDocuSign(BaseHubIntegrationTest baseHubIntegrationTest)
 {
     _baseHubITest = baseHubIntegrationTest;
     _terminalDocuSignTestTools = new Fr8.Testing.Integration.Tools.Terminals.IntegrationTestTools_terminalDocuSign(_baseHubITest);
 }
Beispiel #2
0
 public Mail_Merge_Into_DocuSign_v1_EndToEnd_Tests()
 {
     _terminalDocuSignTestTools   = new Fr8.Testing.Integration.Tools.Terminals.IntegrationTestTools_terminalDocuSign(this);
     _docuSignActivitiesTestTools = new Fr8.Testing.Integration.Tools.Activities.IntegrationTestTools_terminalDocuSign(this);
 }
Beispiel #3
0
        public async Task <ActivityDTO> AddAndConfigure_QueryDocuSign(PlanDTO plan, int ordering, int version = 1)
        {
            var queryDocuSignActivity = FixtureData.Query_DocuSign_v1_InitialConfiguration();
            var activityTemplates     = await _baseHubITest.HttpGetAsync <ActivityTemplateCategoryDTO[]>(_baseHubITest.GetHubApiBaseUrl() + "/activity_templates");

            var apmActivityTemplate = activityTemplates
                                      .SelectMany(a => a.Activities)
                                      .Select(x => new ActivityTemplateSummaryDTO
            {
                Name            = x.Name,
                Version         = x.Version,
                TerminalName    = x.Terminal.Name,
                TerminalVersion = x.Terminal.Version
            })
                                      .FirstOrDefault(a => a.Name == "Query_DocuSign" && a.Version == version.ToString());

            if (apmActivityTemplate == null)
            {
                throw new Exception("Unable to find template for Query_DocuSign v1");
            }

            queryDocuSignActivity.ActivityTemplate = apmActivityTemplate;

            //connect current activity with a plan
            var subPlan = plan.SubPlans.FirstOrDefault();

            queryDocuSignActivity.ParentPlanNodeId = subPlan.SubPlanId;
            queryDocuSignActivity.RootPlanNodeId   = plan.Id;
            queryDocuSignActivity.Ordering         = ordering;

            //call initial configuration to server
            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/save", queryDocuSignActivity);

            //this call is without authtoken
            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/configure", queryDocuSignActivity);

            var initialcrateStorage = _baseHubITest.Crate.FromDto(queryDocuSignActivity.CrateStorage);

            var stAuthCrate = initialcrateStorage.CratesOfType <StandardAuthenticationCM>().FirstOrDefault();

            ;

            //if (!defaultDocuSignAuthTokenExists)
            //{
            var terminalDocuSignTools = new Fr8.Testing.Integration.Tools.Terminals.IntegrationTestTools_terminalDocuSign(_baseHubITest);
            // queryDocuSignActivity.AuthToken = await terminalDocuSignTools.GenerateAuthToken("*****@*****.**", "fr8mesomething", queryDocuSignActivity.ActivityTemplate.Terminal);
            var terminalSummaryDTO = new TerminalSummaryDTO
            {
                Name    = queryDocuSignActivity.ActivityTemplate.TerminalName,
                Version = queryDocuSignActivity.ActivityTemplate.TerminalVersion
            };

            queryDocuSignActivity.AuthToken = await terminalDocuSignTools.GenerateAuthToken("*****@*****.**", "I6HmXEbCxN", terminalSummaryDTO);

            var applyToken = new AuthenticationTokenGrantDTO()
            {
                ActivityId  = queryDocuSignActivity.Id,
                AuthTokenId = Guid.Parse(queryDocuSignActivity.AuthToken.Token),
            };
            await _baseHubITest.HttpPostAsync <AuthenticationTokenGrantDTO[], string>(_baseHubITest.GetHubApiBaseUrl() + "authentication/tokens/grant", new AuthenticationTokenGrantDTO[] { applyToken });

            //send configure with the auth token
            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/save", queryDocuSignActivity);

            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/configure", queryDocuSignActivity);

            initialcrateStorage = _baseHubITest.Crate.FromDto(queryDocuSignActivity.CrateStorage);

            Assert.True(initialcrateStorage.CratesOfType <StandardConfigurationControlsCM>().Any(),
                        "Query_DocuSign: Crate StandardConfigurationControlsCM is missing in API response.");

            var controlsCrate = initialcrateStorage.CratesOfType <StandardConfigurationControlsCM>().First();
            //set the value of folder to drafts and
            var controls      = controlsCrate.Content.Controls;
            var folderControl = controls.OfType <DropDownList>().FirstOrDefault(c => c.Name == "FolderFilter");

            Assert.IsNotNull(folderControl, "Query_DocuSign: DropDownList control for Folder value selection was not found");
            folderControl.Value       = "Draft";
            folderControl.selectedKey = "Draft";

            //set the value of status to any
            var statusControl = controls.OfType <DropDownList>().FirstOrDefault(c => c.Name == "StatusFilter");

            Assert.IsNotNull(folderControl, "Query_DocuSign: DropDownList control for Status value selection was not found");
            statusControl.Value       = null;
            statusControl.selectedKey = null;

            //call followup configuration
            using (var crateStorage = _baseHubITest.Crate.GetUpdatableStorage(queryDocuSignActivity))
            {
                crateStorage.Remove <StandardConfigurationControlsCM>();
                crateStorage.Add(controlsCrate);
            }
            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/save", queryDocuSignActivity);

            queryDocuSignActivity = await _baseHubITest.HttpPostAsync <ActivityDTO, ActivityDTO>(_baseHubITest.GetHubApiBaseUrl() + "activities/configure", queryDocuSignActivity);

            return(await Task.FromResult(queryDocuSignActivity));
        }