Skip to content

Commit

Permalink
Add some tests to verify role combinations
Browse files Browse the repository at this point in the history
  • Loading branch information
gunnarvelle committed Apr 10, 2024
1 parent d657ec9 commit 265d59b
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand Down
Original file line number Diff line number Diff line change
@@ -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)
}
}

0 comments on commit 265d59b

Please sign in to comment.