private static object TryGetInstanceFromContexts(string objectName)
        {
            try
            {
                var scenarioObject = ScenarioContextService.GetValue <object>(objectName);
                return(scenarioObject);
            }
            catch
            {
                // swallow
            }

            try
            {
                var featureObject = FeatureContextService.GetValue <object>(objectName);
                return(featureObject);
            }
            catch
            {
                // swallow
            }

            try
            {
                var globalObject = GlobalContextService.GetValue <object>(objectName);
                return(globalObject);
            }
            catch
            {
                // swallow
            }

            return(null);
        }
        public void ThenTheBodyShouldNotInclude(string excludedText)
        {
            var lastResponse = ScenarioContextService.GetValue <IRestResponse>();

            lastResponse.Content.ShouldNotBeNull("Body should not be null");
            lastResponse.Content.ShouldNotContain(excludedText, StringComparison.OrdinalIgnoreCase);
        }
Beispiel #3
0
        public void ThenDumpTheSearchResultsToDatabase()
        {
            var QnAs    = webdriverX._QnAs;
            var date    = DateTime.Now;
            var results = webdriverX.FindElements("//li[contains(@class,'result-table__row')]".ToByXpath());

            for (int i = 1; i < results.Count(); i++)
            {
                string idAsString = i.ToString();
                try
                {
                    var quote = new Quote();
                    quote.BatchId     = ScenarioContextService.GetValue <QuoteDetails>("quoteData").BatchId;
                    quote.Date        = date;
                    quote.InsurerName = webdriverX.FindElement("Insurer Name", idAsString).GetAttribute("alt");
                    quote.AnnualPrice = webdriverX.FindElement("Annual Price", idAsString).CleanToDecimal();
                    quote.VoluntaryExcessBuildings  = webdriverX.FindElement("Voluntary Excess Buildings", idAsString).CleanToDecimal();
                    quote.VoluntaryExcessContents   = webdriverX.FindElement("Voluntary Excess Contents", idAsString).CleanToDecimal();
                    quote.CompulsoryExcessBuildings = webdriverX.FindElement("Compulsory Excess Buildings", idAsString).CleanToDecimal();
                    quote.CompulsoryExcessContents  = webdriverX.FindElement("Compulsory Excess Contents", idAsString).CleanToDecimal();
                    quote.TotalExcessBuildings      = 0;
                    quote.TotalExcessContents       = 0;
                    quote.BuildingsCover            = webdriverX.FindElement("Building Cover", idAsString).Text.Replace("Unlimited", "999999999").Replace(" m", "000000").Replace(" K", "000").CleanToDecimal();
                    quote.ContentsCover             = webdriverX.FindElement("Contents Cover", idAsString).Text.Replace("Unlimited", "999999999").Replace(" k", "000").CleanToDecimal();;

                    quote.LegalExpenses = -1;
                    if (webdriverX.DoesElementExist("Legal Expenses", idAsString))
                    {
                        quote.LegalExpenses = webdriverX.FindElement("Legal Expenses", idAsString).CleanToDecimal();
                    }

                    quote.HomeEmergency = -1;
                    if (webdriverX.DoesElementExist("Home Emergency", idAsString))
                    {
                        quote.HomeEmergency = webdriverX.FindElement("Home Emergency", idAsString).CleanToDecimal();
                    }

                    quote.AboutInsurer       = webdriverX.FindElement("About Insurer", idAsString).GetAttribute("innerHTML") ?? "";
                    quote.UnderWriter        = webdriverX.FindElement("UnderWriter", idAsString).GetAttribute("innerHTML") ?? "";
                    quote.PostCode           = ScenarioContextService.GetValue <QuoteDetails>("quoteData").WhatsYourPostcode;
                    quote.HouseNumber        = quoteDetails.WhatsYourHouseNumberOrName;
                    quote.FullAddress        = quoteDetails.FullAddress;
                    quote.DOB                = DateTime.Parse(quoteDetails.WhatIsYourDateOfBirth);
                    quote.NumAdults          = int.Parse(quoteDetails.HowManyAdultsLiveThere);
                    quote.NumChildren        = int.Parse(quoteDetails.AndHowManyChildren);
                    quote.PropertyType       = quoteDetails.WhatKindOfHomeDoYouLiveIn;
                    quote.ContentSumInsured  = quoteDetails.HowMuchWouldItCostToReplaceTheEntireContentsOfYourHome;
                    quote.BuildingSumInsured = quoteDetails.HowMuchWouldItCostToRebuildYourHomeToday;
                    quote.QnA                = string.Join(Environment.NewLine, QnAs.Select(t => new { qa = (t.Question + ": " + t.Answer) }).Select(t => t.qa));
                    quotesRepository.Insert(quote);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
        public void Execute(List <HttpRequestItem> httpRequestItems)
        {
            if (apiBaseUrl == null)
            {
                throw new ArgumentException("You must call Init and set the baseUrl");
            }

            var restClient = apiRestClientFactory != null
                                         ? apiRestClientFactory(apiBaseUrl())
                                         : new RestClient(apiBaseUrl());


            var verb = GetMethod(httpRequestItems.First(x => x.Type == "HttpVerb").Value);

            var restRequest = apiRestRequestFactory != null
                                           ? apiRestRequestFactory(verb)
                                           : new RestRequest(verb);

            restRequest.Resource = httpRequestItems.First(x => x.Type == "Endpoint").Value;

            if (verb == Method.POST || verb == Method.PUT || verb == Method.PATCH)
            {
                var contentType = httpRequestItems.First(x => x.Type == "ContentType").Value;
                var body        = httpRequestItems.First(x => x.Type == "Body").Value;
                restRequest.AddHeader("content-type", contentType);
                restRequest.AddParameter(contentType, body, ParameterType.RequestBody);
            }

            foreach (var header in httpRequestItems.Where(x => x.Type == "Header"))
            {
                restRequest.AddHeader(header.Type, header.Value);
            }

            var response = restClient.Execute(restRequest);

            ScenarioContextService.SaveValue(response);
        }
        public void TheReasonPhraseShouldEqual(string expectedReasonPhrase)
        {
            var lastResponse = ScenarioContextService.GetValue <IRestResponse>();

            lastResponse.StatusDescription.ShouldEqual(expectedReasonPhrase);
        }
        public void TheStatusCodeShouldEqual(int statusCode)
        {
            var lastResponse = ScenarioContextService.GetValue <IRestResponse>();

            lastResponse.StatusCode.ShouldEqual((HttpStatusCode)statusCode);
        }
Beispiel #7
0
 public MoneySuperMarketSteps()
 {
     quotesRepository = new EfRepository <Quote>(new hlfContext());
     quoteDetails     = ScenarioContextService.GetValue <QuoteDetails>("quoteData");
     UseQueue         = ConfigurationManager.AppSettings.Get("UseQueue").ToLower();
 }