diff --git a/network/src/main/scala/no/ndla/network/clients/FeideApiClient.scala b/network/src/main/scala/no/ndla/network/clients/FeideApiClient.scala index c63a08fb69..b6b98d1903 100644 --- a/network/src/main/scala/no/ndla/network/clients/FeideApiClient.scala +++ b/network/src/main/scala/no/ndla/network/clients/FeideApiClient.scala @@ -53,9 +53,9 @@ case class FeideExtendedUserInfo( private def isTeacherAffiliation: Boolean = { !this.eduPersonPrimaryAffiliation.contains("student") && - this.eduPersonAffiliation.contains("staff") || - this.eduPersonAffiliation.contains("faculty") || - this.eduPersonAffiliation.contains("employee") + (this.eduPersonAffiliation.contains("staff") || + this.eduPersonAffiliation.contains("faculty") || + this.eduPersonAffiliation.contains("employee")) } def isTeacher: Boolean = { diff --git a/network/src/test/scala/no/ndla/network/clients/FeideApiClientTest.scala b/network/src/test/scala/no/ndla/network/clients/FeideApiClientTest.scala new file mode 100644 index 0000000000..a00978f317 --- /dev/null +++ b/network/src/test/scala/no/ndla/network/clients/FeideApiClientTest.scala @@ -0,0 +1,47 @@ +/* + * Part of NDLA network + * Copyright (C) 2024 NDLA + * + * See LICENSE + * + */ + +package no.ndla.network.clients + +import no.ndla.network.UnitSuite + +class FeideApiClientTest extends UnitSuite { + + test("testFeideExtendedUserInfo roles") { + val user = FeideExtendedUserInfo("", Seq.empty, None, "", Seq("")) + assert(!user.isTeacher) + + val member = user.copy(eduPersonAffiliation = Seq("member")) + assert(!member.isTeacher) + + val student = user.copy(eduPersonAffiliation = Seq("member", "student")) + assert(!student.isTeacher) + + val studentWithPrimary = + user.copy(eduPersonAffiliation = Seq("member", "student"), eduPersonPrimaryAffiliation = Some("student")) + assert(!studentWithPrimary.isTeacher) + + val staff = user.copy(eduPersonAffiliation = Seq("member", "staff")) + assert(staff.isTeacher) + + val faculty = user.copy(eduPersonAffiliation = Seq("member", "faculty")) + assert(faculty.isTeacher) + + val employee = user.copy(eduPersonAffiliation = Seq("member", "employee")) + assert(employee.isTeacher) + + val employeeWithStudent = user.copy(eduPersonAffiliation = Seq("member", "employee", "student")) + assert(employeeWithStudent.isTeacher) + + val studentWithEmployee = user.copy( + eduPersonAffiliation = Seq("member", "student", "employee"), + eduPersonPrimaryAffiliation = Some("student") + ) + assert(!studentWithEmployee.isTeacher) + } +}