public IntegrationTestTools_terminalDocuSign(BaseHubIntegrationTest baseHubIntegrationTest) { _baseHubITest = baseHubIntegrationTest; _terminalDocuSignTestTools = new Fr8.Testing.Integration.Tools.Terminals.IntegrationTestTools_terminalDocuSign(_baseHubITest); }
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); }
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)); }