public async Task Before()
        {
            _request = new EligibilityScrapeRequest
            {
                RequestExpiration  = null,
                ApplicationId      = Guid.NewGuid(),
                ResponseAddress    = "http://mylocation.nthrive.com",
                PlanCode           = "BCHP100",
                PlanDescription    = "BlueChoice HealthPlan",
                SubscriberId       = "ZCL87410574",
                PatientDateOfBirth = new DateTime(1979, 12, 8),
                ProviderId         = "1154373843",
                ServiceDate        = DateTime.Now,
                ServiceTypes       = new[] { new ServiceType {
                                                 Code = "30", Description = "General"
                                             } }
            };

            var content1 = new ObjectContent(typeof(EligibilityScrapeRequest), _request, new JsonMediaTypeFormatter());

            _response1 = await Server.Instance.HttpClient.PostAsync("api/ScrapeRequests/Eligibility", content1);

            var content2 = new ObjectContent(typeof(EligibilityScrapeRequest), _request, new JsonMediaTypeFormatter());

            _response2 = await Server.Instance.HttpClient.PostAsync("api/ScrapeRequests/Eligibility", content2);
        }
        public void Run(EligibilityScrapeRequest request)
        {
            //NOTE:  required dependencies down below
            //PhantomJS
            //Selenium.Support
            //Selenium.WebDriver

            using (_driver)
            {
                var uri = new Uri("https://provider.bcbssc.com/wps/portal/hcp/providers/home");
                _driver.Navigate().GoToUrl(uri);

                var usernameTextBox = _driver.FindElement(By.Name("CustomLoginFormID"));
                usernameTextBox.Clear();
                usernameTextBox.SendKeys("AccessEd");

                var passwordTextBox = _driver.FindElement(By.Name("CustomLoginFormPassword"));
                passwordTextBox.Clear();
                passwordTextBox.SendKeys("123456789");

                var loginButton = _driver.FindElement(By.Name("LoginPortletFormSubmit"));
                loginButton.Click();

                var title         = _driver.Title;
                var expectedTitle = "My Insurance Manager - Pre Load Process";

                if (title != expectedTitle)
                {
                    throw new Exception($"The title did not match the expected value of '{expectedTitle}'.");
                }

                Debug.Write("Done.");
            }
        }
Exemple #3
0
        public IHttpActionResult Post(EligibilityScrapeRequest request)
        {
            var requestId = Guid.NewGuid();

            var runner = new EligibilityRunner();

            runner.Run(request);

            return(Created($"{Request.RequestUri}/{requestId}", request));
        }
        public async Task Before()
        {
            _request = new EligibilityScrapeRequest
            {
                RequestExpiration  = null,
                ApplicationId      = Guid.Empty,
                ResponseAddress    = "*****@*****.**",
                PlanCode           = null,
                PlanDescription    = null,
                SubscriberId       = null,
                PatientDateOfBirth = DateTime.MinValue,
                ProviderId         = null,
                ServiceDate        = DateTime.MinValue,
                ServiceTypes       = null
            };
            var content = new ObjectContent(typeof(EligibilityScrapeRequest), _request, new JsonMediaTypeFormatter());

            _response = await Server.Instance.HttpClient.PostAsync("api/ScrapeRequests/Eligibility", content);
        }
Exemple #5
0
        public void given_invalid_request_when_validating_should_return_errors()
        {
            var request = new EligibilityScrapeRequest
            {
                RequestExpiration  = null,
                ApplicationId      = Guid.Empty,
                ResponseAddress    = "*****@*****.**",
                PlanCode           = null,
                PlanDescription    = null,
                SubscriberId       = null,
                PatientDateOfBirth = DateTime.MinValue,
                ProviderId         = null,
                ServiceDate        = DateTime.MinValue,
                ServiceTypes       = new [] { new ServiceType {
                                                  Code = "CODE", Description = "DESCRIPTION"
                                              }, new ServiceType()
                                              {
                                                  Code = null, Description = string.Empty
                                              } }
            };

            ICollection <ValidationResult> results;
            var validator = new DataAnnotationsValidator();

            validator.TryValidate(request, out results).Should().BeFalse();


            results.Count.Should().BeGreaterThan(1);
            var messages = results.Select(r => r.ErrorMessage);

            messages.Contains("The CorrelationId field requires a non-default value.");
            messages.Contains("The ApplicationId field requires a non-default value.");
            messages.Contains("The ResponseAddress field is not a valid fully-qualified http, https, or ftp URL.");
            messages.Contains("The PlanCode field is required.");
            messages.Contains("The PlanDescription field is required.");
            messages.Contains("The SubscriberId field is required.");
            messages.Contains("The PatientDateOfBirth field requires a non-default value.");
            messages.Contains("The ProviderId field is required.");
            messages.Contains("The ServiceDate field requires a non-default value.");
            messages.Contains("The ServiceTypes field is not valid.");
        }
Exemple #6
0
        private EligibilityScrapeRequest GetValidRequest(
            Func <EligibilityScrapeRequest, EligibilityScrapeRequest> applyOverrides)
        {
            var request = new EligibilityScrapeRequest
            {
                RequestExpiration  = null,
                ApplicationId      = Guid.NewGuid(),
                ResponseAddress    = "http://mylocation.nthrive.com",
                PlanCode           = "BCHP100",
                PlanDescription    = "BlueChoice HealthPlan",
                SubscriberId       = "ZCL87410574",
                PatientDateOfBirth = new DateTime(1979, 12, 8),
                ProviderId         = "1154373843",
                ServiceDate        = DateTime.Now,
                ServiceTypes       = new[] { new ServiceType {
                                                 Code = "30", Description = "General"
                                             } }
            };

            applyOverrides(request);

            return(request);
        }