public void Create_Passage_With_Publisher()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsDistrictAdmin();

                TestContext.WriteLine("\n--- Create a passage ---");
                workflows.AssessWorkflows.PassageWorkflows
                .NavigateToCreatePassagePage();

                //set up data for EditPassage.aspx
                EditPassageData editPassageData = workflows.AssessWorkflows.EditPassagePage.InitData();
                editPassageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.Passage.PassageResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPassageData.Title     = "OriginalAutomationPassage";
                editPassageData.Publisher = "OriginalAutomationPassage_Publisher";
                workflows.AssessWorkflows.EditPassagePage.Data = editPassageData;

                workflows.AssessWorkflows.PassageWorkflows
                .CreatePassagePageInputFormFields();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Creates_A_Manual_Test_With_Six_Items_Manual_QA_Data_Setup()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a passage ---");
                workflows.AssessWorkflows.PassageWorkflows
                .NavigateToCreatePassagePage();

                //set up data for EditPassage.aspx
                EditPassageData editPassageData = workflows.AssessWorkflows.EditPassagePage.InitData();
                editPassageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.Passage.ManualQAPassageResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPassageData.Title       = string.Format("OriginalAutomationTest Passage. Goldfish (from Wikipedia): {0}", DateTime.Now.ToString("yyMMddMMssfff"));
                editPassageData.PassageText = this.createPassageText();
                workflows.AssessWorkflows.EditPassagePage.Data = editPassageData;

                //create a passage, then edit it
                workflows.AssessWorkflows.PassageWorkflows
                .CreatePassagePageInputFormFields()
                .PassageDetailPageEdit();

                //set up data for EditPassage.aspx
                editPassageData = workflows.AssessWorkflows.EditPassagePage.InitData();
                editPassageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.Passage.ManualQAPassageResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPassageData.Title       = string.Format("OriginalAutomationTest Passage. Goldfish (from Wikipedia): {0}", DateTime.Now.ToString("yyMMddMMssfff"));
                editPassageData.PassageText = this.editPassageText();
                workflows.AssessWorkflows.EditPassagePage.Data = editPassageData;

                //edit the passage
                TestContext.WriteLine("\n--- Edit a passage ---");
                workflows.AssessWorkflows.PassageWorkflows
                .EditPassagePageInputFormFields();

                //Create manual test
                TestContext.WriteLine("\n --- Create manual test ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToCreateManualTestPage();

                //set up data for CreateTest.aspx
                CreateTestManualData createTestManualData = workflows.AssessWorkflows.CreateTestManualPage.InitData();
                createTestManualData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.TestCreateEdit.ManualQACreateTestResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                //Create 1st multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToChooseNewItemPage()
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice1Data.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ManualQAItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageMultipleChoice1Data.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                editPageMultipleChoice1Data.QuestionAnswerData = getMultipleChoiceData1();//override the default data
                editPageMultipleChoice1Data.PassageTitle       = editPassageData.Title;
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice1Data;

                //Fill in the multiple choice item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create a 2nd multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice2Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice2Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageMultipleChoice2Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageMultipleChoice2Data.QuestionAnswerData = getMultipleChoiceData2();//override the default data
                editPageMultipleChoice2Data.PassageTitle       = editPassageData.Title;
                editPageMultipleChoice2Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice2Data;

                //Add an answer choice, fill in the 2nd multiple choice item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageMultipleChoiceFormAddAnswerChoice()
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSearchPassageAndAddPassage()
                .EditQuestionCreateNewItemPageSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 3rd true false item
                TestContext.WriteLine("\n --- Create true/false item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemTrueFalse();

                //set up data for EditQuestion.aspx
                EditPageData editPageTrueFalse1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageTrueFalse1Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageTrueFalse1Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageTrueFalse1Data.QuestionAnswerData = getTrueFalseData();//override the default data
                editPageTrueFalse1Data.PassageTitle       = editPassageData.Title;
                editPageTrueFalse1Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageTrueFalse1Data;

                //Fill in the true/false item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSearchPassageAndAddPassage()
                .EditQuestionCreateNewItemPageSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 4th multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice3Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice3Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageMultipleChoice3Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageMultipleChoice3Data.QuestionAnswerData = getMultipleChoiceData3();//override the default data
                editPageMultipleChoice3Data.PassageTitle       = editPassageData.Title;
                editPageMultipleChoice3Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice3Data;

                //Select two columns down, add an answer choice, fill in the 2nd multiple choice item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageMultipleChoiceFormSelectTwoColumnsDown()
                .EditQuestionCreateNewItemPageMultipleChoiceFormAddAnswerChoice()
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 5th open response item
                TestContext.WriteLine("\n --- Create open response item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemOpenResponse();

                //set up data for EditQuestion.aspx
                EditPageData editPageOpenResponse1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageOpenResponse1Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageOpenResponse1Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageOpenResponse1Data.QuestionAnswerData = getOpenResponseData1();//override the default data
                editPageOpenResponse1Data.PassageTitle       = editPassageData.Title;
                editPageOpenResponse1Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageOpenResponse1Data;

                //Fill in the 5th open response item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 6th open response item
                TestContext.WriteLine("\n --- Create open response item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemOpenResponse();

                //set up data for EditQuestion.aspx
                EditPageData editPageOpenResponse2Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageOpenResponse2Data.ItemTypeData = editPageMultipleChoice1Data.ItemTypeData;
                editPageOpenResponse2Data.ItemTypeData.ResponseLanguage = "French";               //use French Response language
                editPageOpenResponse2Data.StandardPickerData            = editPageMultipleChoice1Data.StandardPickerData;
                editPageOpenResponse2Data.QuestionAnswerData            = getOpenResponseData2(); //override the default data
                editPageOpenResponse2Data.PassageTitle = editPassageData.Title;
                editPageOpenResponse2Data.AutoItData   = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageOpenResponse2Data;

                //Enable Text formatting, special character palette, equation editor, fill in the 6th open response item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableTextFormatting()
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableSpecialCharacterPalette()
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableEquationEditor()
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //set up data for ViewTestDetails.aspx
                workflows.AssessWorkflows.ViewTestDetailsPage.Data = getViewTestDetailsData();

                //Add instruction
                TestContext.WriteLine("\n --- Add instruction ---");
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddInstruction();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }