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); }
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); }
public MoneySuperMarketSteps() { quotesRepository = new EfRepository <Quote>(new hlfContext()); quoteDetails = ScenarioContextService.GetValue <QuoteDetails>("quoteData"); UseQueue = ConfigurationManager.AppSettings.Get("UseQueue").ToLower(); }