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()); }