示例#1
0
 public ViewFileReader(string projectRootDir, string controller, string view)
 {
     _projectRootDir      = projectRootDir;
     _controller          = controller;
     _view                = view;
     _pageObjectGenerator = new PageObjectGenerator(controller, view);
 }
示例#2
0
 public GeneratorViewModel()
 {
     this.generator = new PageObjectGenerator(DataManager.ReadTemplate());
     this.LoadData();
     this.GenerateCommand = new Command(this.OnGenerate, this.CanGenerate);
     GenerateCommand.RaiseCanExecuteChanged();
     this.CopyToClipBoardCommand = new Command(this.OnCopyToClipboard, this.CanCopyToClipBoard);
 }
示例#3
0
        public void Generator_TemplateChangedWhenChainActiveWillKeepChain_NoTemplate_ErrorIsThrown()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "" }, { "SimplePageChained", "" }, { "NewPage", "" }, { "NewPageChained", "" }
            };
            sut = new PageObjectGenerator(input);
            sut.EnableMethodChaining(true).SelectTemplate("NewPage");

            Assert.Equal("NewPageChained", sut.CurrentTemplate);
        }
示例#4
0
        public void Generator_TemplateChanged_NoTemplate_ErrorIsThrown()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$ (IWebDriver driver)" }
            };
            sut = new PageObjectGenerator(input);

            var exception = Assert.Throws <TemplateNotFoundException>(
                () => sut.SelectTemplate("notemplateexists"));
        }
示例#5
0
        public void Generator_ChainFalseTrue_PlainTemplateUsed()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$ (IWebDriver driver)" }, { "SimplePageChained", "$private IWebDriver driver;$ (IWebDriver driver)" }
            };
            sut = new PageObjectGenerator(input);
            sut.EnableMethodChaining(false).Generate();

            Assert.Equal("SimplePage", sut.CurrentTemplate);
        }
示例#6
0
        public void Generator_ChainTrue_NoTemplate_ExceptioIsThrown()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$ (IWebDriver driver)" }
            };
            sut = new PageObjectGenerator(input);

            var exception = Assert.Throws <TemplateNotFoundException>(
                () => sut.EnableMethodChaining(true));
        }
示例#7
0
        public void Generator_TemplateChanged_NewTempleateIsUsed()
        {
            var expected = "NewTemplate";

            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$ (IWebDriver driver)" }, { expected, "$private IWebDriver driver;$ (IWebDriver driver)" }
            };
            sut = new PageObjectGenerator(input);
            sut.SelectTemplate(expected).Generate();

            Assert.Equal(expected, sut.CurrentTemplate);
        }
示例#8
0
        public void Generator_NoInheritence_IsEmpty()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$inheritanceName$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.Generate();

            Assert.Equal(string.Empty, generatedCode);
        }
示例#9
0
        public void Generator_Iheritence_AddedBase()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "(IWebDriver driver)" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.EnableInheritance(true).Generate();

            Assert.Equal("(IWebDriver driver) : base(driver)", generatedCode);
        }
示例#10
0
        public void Generator_NoInheritence_NoBase()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "(IWebDriver driver)" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.Generate();

            Assert.Equal("(IWebDriver driver)", generatedCode);
        }
示例#11
0
        public void Generator_NoInheritence_DriverLineNotRemoved()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.Generate();

            Assert.Equal("private IWebDriver driver;", generatedCode);
        }
示例#12
0
        public void Generator_InheritenceActive_DriverLineRemoved()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.EnableInheritance(true)
                                .Generate();

            Assert.Equal(string.Empty, generatedCode);
        }
示例#13
0
        public void GeneratorSanitaze_Results()
        {
            var result = "done";

            input = new Dictionary <string, string> {
                { "SimplePage", $"${result}$$$$$$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.Generate();

            Assert.Equal(result, generatedCode);
        }
示例#14
0
        public void Generator_ChangeDriverName()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "(IWebDriver driver)" }
            };
            var newName  = "fake";
            var expected = $"(IWebDriver {newName})";

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.SetDriverName(newName).Generate();

            Assert.Equal(expected, generatedCode);
        }
示例#15
0
        public void SimplePage_IsDefaultTemplate()
        {
            var result = "done";

            input = new Dictionary <string, string> {
                { "SimplePage", result }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.Generate();

            Assert.Equal(result, generatedCode);
        }
示例#16
0
        public void Generator_SetBamePageName_IsLoginPAge()
        {
            var result = "DarkPage";

            input = new Dictionary <string, string> {
                { "SimplePage", "$className$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.SetName(result).Generate();

            Assert.Equal(result, generatedCode);
        }
示例#17
0
        public void Generator_IheritenceAndDriverCollsion_WorksWell()
        {
            input = new Dictionary <string, string> {
                { "SimplePage", "$private IWebDriver driver;$ (IWebDriver driver)" }
            };
            var newName  = "fake";
            var expected = $" (IWebDriver {newName}) : base({newName})";

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.SetDriverName(newName).EnableInheritance(true).Generate();

            Assert.Equal(expected, generatedCode);
        }
示例#18
0
        public void Test_PageObjectGenerator_CreateClass()
        {
            PageInfo info = new PageInfo("SignIn", "/url");

            info.Elements = new ElementInfo[]
            {
                new ElementInfo("SignInButtSubmiton", "#submit"),
                new ElementInfo("Email", "#email"),
                new ElementInfo("Password", "#password")
            };
            PageObjectGenerator generator = new PageObjectGenerator();

            Assert.False(true, "Not yet implemented");
            //generator.CreateClass(info, @"C:\users\chris\test.cs");
        }
示例#19
0
        public void Generator_InheritenceActive_SetValue()
        {
            var entryValue    = "BasePage";
            var expectedValue = " : BasePage";

            input = new Dictionary <string, string> {
                { "SimplePage", "$inheritanceName$" }
            };

            sut = new PageObjectGenerator(input);

            var generatedCode = sut.EnableInheritance(true)
                                .SetInheritanceValue(entryValue)
                                .Generate();

            Assert.Equal(expectedValue, generatedCode);
        }