github.com/quickfeed/quickfeed@v0.0.0-20240507093252-ed8ca812a09c/public/src/__tests__/e2e/E2ECourseVisibility.test.tsx (about) 1 import { By, until } from 'selenium-webdriver' 2 import { setupDrivers } from '../TestHelpers' 3 4 5 describe("End to End course visibility", () => { 6 7 const drivers = setupDrivers() 8 9 drivers.forEach(driver => { 10 it("Should not overlap on res 1920x1080", async () => { 11 // Go to course page 12 const hamburger = await driver.findElement(By.className("hamburger")) 13 await driver.wait(until.elementIsVisible(hamburger), 100) 14 await hamburger.click() 15 const goToCourse = await driver.findElement(By.css(".courseLink")) 16 await driver.wait(until.elementIsVisible(goToCourse), 100) 17 await goToCourse.click() 18 19 // Find course code from course card and hamburger menu 20 const card = await driver.findElement(By.css(".card")) 21 const cardCourseCode = await card.findElement(By.css(".card-header")).getText() 22 const courseCode = cardCourseCode.split("\n")[0] 23 const hamburgerCode = await driver.findElement(By.css("#title")).getText() 24 25 // Unfavorite the course 26 const star = await driver.findElement(By.css(".fa-star")) 27 await driver.wait(until.elementIsVisible(star), 100) 28 await star.click() 29 30 // Get courseCode from myCourses section 31 const myCourse = await driver.findElement(By.css(".myCourses")) 32 const myCoursesCard = await myCourse.findElement(By.css(".card-header")).getText() 33 34 const hasMoved = (courseCode === myCoursesCard.split("\n")[0]) 35 36 // Find course codes in navigator 37 const navigatorCourses = await driver.findElement(By.css(".navigator")) 38 const courses = await navigatorCourses.findElements(By.css("#title")) 39 40 // Check if the course has moved from navigator 41 let isInList = true 42 for (let i = 0; i < courses.length; i++) { 43 if (await courses[i].getText() === hamburgerCode) { 44 isInList = false 45 } 46 } 47 const movedFromFavorites = (isInList && hasMoved) 48 49 await driver.close() 50 expect(movedFromFavorites).toBe((true)) 51 }, 50000) 52 }) 53 })