public string CreateInvoice( string storeId, decimal?amount = 100, string currency = "USD", string refundEmail = "", string defaultPaymentMethod = null, bool?requiresRefundEmail = null, StatusMessageModel.StatusSeverity expectedSeverity = StatusMessageModel.StatusSeverity.Success ) { GoToInvoices(storeId); Driver.FindElement(By.Id("CreateNewInvoice")).Click(); if (amount is decimal v) { Driver.FindElement(By.Id("Amount")).SendKeys(v.ToString(CultureInfo.InvariantCulture)); } var currencyEl = Driver.FindElement(By.Id("Currency")); currencyEl.Clear(); currencyEl.SendKeys(currency); Driver.FindElement(By.Id("BuyerEmail")).SendKeys(refundEmail); if (defaultPaymentMethod is not null) { new SelectElement(Driver.FindElement(By.Name("DefaultPaymentMethod"))).SelectByValue(defaultPaymentMethod); } if (requiresRefundEmail is bool) { new SelectElement(Driver.FindElement(By.Name("RequiresRefundEmail"))).SelectByValue(requiresRefundEmail == true ? "1" : "2"); } Driver.FindElement(By.Id("Create")).Click(); var statusElement = FindAlertMessage(expectedSeverity); return(expectedSeverity == StatusMessageModel.StatusSeverity.Success ? statusElement.Text.Split(" ")[1] : null); }
public string CreateInvoice(decimal?amount = 100, string currency = "USD", string refundEmail = "", string defaultPaymentMethod = null, bool?requiresRefundEmail = null, StatusMessageModel.StatusSeverity expectedSeverity = StatusMessageModel.StatusSeverity.Success ) { return(CreateInvoice(null, amount, currency, refundEmail, defaultPaymentMethod, requiresRefundEmail, expectedSeverity)); }
internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) { var el = Driver.FindElements(By.ClassName($"alert-{StatusMessageModel.ToString(severity)}")).FirstOrDefault(e => e.Displayed); if (el is null) { throw new NoSuchElementException($"Unable to find alert-{StatusMessageModel.ToString(severity)}"); } return(el); }
internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) { var className = $"alert-{StatusMessageModel.ToString(severity)}"; var el = Driver.FindElement(By.ClassName(className)) ?? Driver.WaitForElement(By.ClassName(className)); if (el is null) { throw new NoSuchElementException($"Unable to find {className}"); } return(el); }
internal void AssertHappyMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) { using var cts = new CancellationTokenSource(20_000); while (!cts.IsCancellationRequested) { var success = Driver.FindElements(By.ClassName($"alert-{StatusMessageModel.ToString(severity)}")).Any(el => el.Displayed); if (success) { return; } Thread.Sleep(100); } Logs.Tester.LogInformation(this.Driver.PageSource); Assert.True(false, $"Should have shown {severity} message"); }
internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) => Driver.FindElement(By.ClassName($"alert-{StatusMessageModel.ToString(severity)}"));
internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) { return(FindAlertMessage(new[] { severity })); }