コード例 #1
0
ファイル: Scheme.cs プロジェクト: NanaShenley/sel
        public void AddExistingResourcesToScheme()
        {
            NavigateToModifyExistingScheme();
            SchemeSearchPanel schemeSearchPanel = new SchemeSearchPanel();

            //Open the Filter tab
            schemeSearchPanel.OpenFilter();
            //Select a Group
            schemeSearchPanel = schemeSearchPanel.SelectGroup("Year 1");
            //Select a Subject
            schemeSearchPanel = schemeSearchPanel.SelectSubject("English: Reading");
            //Select a Strand
            schemeSearchPanel = schemeSearchPanel.SelectStrand("Comprehension");

            schemeSearchPanel.Search();
            List <string> SchemeData = schemeSearchPanel.GetTreeData();

            Assert.IsTrue(SchemeData.Contains("Year 1"));
            Assert.IsTrue(SchemeData.Contains("English: Reading"));
            Assert.IsTrue(SchemeData.Contains("Comprehension"));
            //Add existing subjects
            schemeSearchPanel.ClickAddSubjectButton();

            schemeSearchPanel.ClickAddExistingSubjectButton();

            schemeSearchPanel = schemeSearchPanel.SelectPhase("Year 1");

            schemeSearchPanel = schemeSearchPanel.ClickSearchSubjectButton();

            List <string> subjects             = TestData.CreateDataList("select [AssessmentSubject].[Name] as Name from [AssessmentSubject] inner join [SubjectLevel] on [AssessmentSubject].[ID] = [SubjectLevel].[AssessmentSubject] inner join [LearningLevel] on [SubjectLevel].[LearningLevel] = [LearningLevel].[ID] where [LearningLevel].[Name]='Year 1' AND [AssessmentSubject].[TenantID]=" + TestDefaults.Default.TenantId, "Name");
            List <string> subjectSearchResults = schemeSearchPanel.GetExistingData();

            Assert.AreEqual(subjects.Count.ToString(), subjectSearchResults.Count.ToString());

            foreach (string eachelement in subjects)
            {
                Assert.IsTrue(subjectSearchResults.Contains(eachelement.Replace(" ", string.Empty).ToLower()));
            }
            //Add existing levels
            schemeSearchPanel.ClickAddLevelButton();

            schemeSearchPanel.ClickAddExistingLevelButton();
            List <string> levels             = TestData.CreateDataList("SELECT distinct [LearningLevel].[Name] [LearningLevel.Name] FROM dbo.[LearningLevel] [LearningLevel] inner JOIN dbo.[NCYearLearningLevel] [LearningLevel.NCYearLearningLevels] ON ([LearningLevel].[ID] = [LearningLevel.NCYearLearningLevels].[LearningLevel] AND [LearningLevel.NCYearLearningLevels].[TenantID] =" + TestDefaults.Default.TenantId + " ) WHERE ([LearningLevel].[TenantID] = " + TestDefaults.Default.TenantId + ")Group by [LearningLevel].[ID],[LearningLevel.NCYearLearningLevels].[LearningLevel],[LearningLevel].[Name] having count([LearningLevel.NCYearLearningLevels].[LearningLevel])=1", "LearningLevel.Name");
            List <string> levelSearchResults = schemeSearchPanel.GetExistingData();

            Assert.AreEqual(levels.Count.ToString(), levelSearchResults.Count.ToString());

            foreach (string eachelement in levels)
            {
                Assert.IsTrue(levelSearchResults.Contains(eachelement.Replace(" ", string.Empty).ToLower()));
            }

            //Add existing Strands
            schemeSearchPanel.ClickAddStrandButton();
            schemeSearchPanel.ClickAddExistingStrandButton();
            List <string> strands             = TestData.CreateDataList("select Name from Strand where id in(select Strand from SubjectLevelStatement where SubjectLevel in(select id from SubjectLevel where AssessmentSubject in (select id from AssessmentSubject where name ='English: Reading') and learningLevel in(select id from learningLevel where name ='Year 1'))) and TenantID=" + TestDefaults.Default.TenantId, "Name");
            List <string> strandSearchResults = schemeSearchPanel.GetExistingData();

            Assert.AreEqual(strands.Count.ToString(), strandSearchResults.Count.ToString());

            foreach (string eachelement in strands)
            {
                Assert.IsTrue(strandSearchResults.Contains(eachelement.Replace(" ", string.Empty).ToLower()));
            }

            //Add existing statement
            schemeSearchPanel = schemeSearchPanel.CancelPickerFormButton();
            schemeSearchPanel = schemeSearchPanel.ClickExistingLevelNode();
            schemeSearchPanel.ClickAddStatementButton();
            schemeSearchPanel.ClickAddExistingStatementButton();
            List <string> statements             = TestData.CreateDataList("select name from Statement where id in(select Statement from SubjectLevelStatement where SubjectLevel in(select id from SubjectLevel where AssessmentSubject in (select id from AssessmentSubject where name ='English: Reading') and learningLevel in(select id from learningLevel where name ='Year 1') and Strand in(select id from Strand where name ='Comprehension'))) and TenantID=" + TestDefaults.Default.TenantId, "Name");
            List <string> statementSearchResults = schemeSearchPanel.GetExistingData();

            Assert.AreEqual(statements.Count.ToString(), statementSearchResults.Count.ToString());
        }