Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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");
 }
Ejemplo n.º 6
0
 internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success) =>
 Driver.FindElement(By.ClassName($"alert-{StatusMessageModel.ToString(severity)}"));
Ejemplo n.º 7
0
 internal IWebElement FindAlertMessage(StatusMessageModel.StatusSeverity severity = StatusMessageModel.StatusSeverity.Success)
 {
     return(FindAlertMessage(new[] { severity }));
 }