예제 #1
0
        public static NormalPage <T> ConstructFromNormalPageSaved <F, T>(this IEntityButtonContainer <F> container, ConstructSymbol <T> .From <F> symbol)
            where T : Entity
            where F : Entity
        {
            container.OperationClick(symbol);

            return(new NormalPage <T>(container.Selenium, null).WaitLoaded());
        }
예제 #2
0
        public static NormalPage <T> ConstructFromNormalPageNew <F, T>(this IEntityButtonContainer <F> container, ConstructSymbol <T> .From <F> symbol)
            where T : Entity
            where F : Entity
        {
            container.OperationClick(symbol);

            container.Selenium.Wait(() => { try { return(container.RuntimeInfo().IsNew); } catch { return(false); } });

            return(new NormalPage <T>(container.Selenium, null));
        }
예제 #3
0
        public static FramePageProxy <T> ConstructFromNormalPage <F, T>(this IEntityButtonContainer <F> container, ConstructSymbol <T> .From <F> symbol)
            where T : Entity
            where F : Entity
        {
            container.OperationClick(symbol);

            container.Element.GetDriver().Wait(() => { try { return(container.EntityInfo().IsNew); } catch { return(false); } });

            return(new FramePageProxy <T>(container.Element.GetDriver()));
        }
예제 #4
0
 public static void ExecuteAjax <T>(this IEntityButtonContainer <T> container, ExecuteSymbol <T> symbol, bool consumeAlert = false)
     where T : Entity
 {
     container.WaitReload(() =>
     {
         container.OperationClick(symbol);
         if (consumeAlert)
         {
             container.Selenium.ConsumeAlert();
         }
     });
 }
예제 #5
0
        public static PopupControl <T> ConstructFromPopup <F, T>(this IEntityButtonContainer <F> container, ConstructSymbol <T> .From <F> symbol, string prefix = "New")
            where T : Entity
            where F : Entity
        {
            container.OperationClick(symbol);

            var popup = new PopupControl <T>(container.Selenium, prefix);

            container.Selenium.WaitElementPresent(popup.PopupLocator);

            return(popup);
        }
예제 #6
0
        public static void Execute <T>(this IEntityButtonContainer <T> container, ExecuteSymbol <T> symbol, bool consumeAlert = false, bool checkValidationErrors = true)
            where T : Entity
        {
            container.WaitReload(() =>
            {
                container.OperationClick(symbol);
                if (consumeAlert)
                {
                    container.Element.GetDriver().CloseMessageModal(MessageModalButton.Yes);
                }
            });

            var vs = container as IValidationSummaryContainer;

            if (checkValidationErrors && vs != null)
            {
                AssertNoErrors(vs);
            }
        }
예제 #7
0
 public static void OperationClick <T>(this IEntityButtonContainer <T> container, IEntityOperationSymbolContainer <T> symbol)
     where T : Entity
 {
     container.OperationClick(symbol.Symbol);
 }