19declare(strict_types=1);
29 protected function setUp(): void
42 $this->createMock(ilDBInterface::class),
43 $this->createMock(ilObjUser::class)
49 $this->assertInstanceOf(ilTestSession::class, $this->testObj);
55 $this->testObj->setRefId($ref_id);
56 $this->assertEquals($ref_id, $this->testObj->getRefId());
62 $this->testObj->active_id = $active_id;
63 $this->assertEquals($active_id, $this->testObj->getActiveId());
70 $this->assertEquals(
$user_id, $this->testObj->getUserId());
76 $this->testObj->setTestId($test_id);
77 $this->assertEquals($test_id, $this->testObj->getTestId());
83 $this->testObj->setAnonymousId($anonymous_id);
84 $this->assertEquals($anonymous_id, $this->testObj->getAnonymousId());
90 $this->testObj->setLastSequence($lastsequence);
91 $this->assertEquals($lastsequence, $this->testObj->getLastSequence());
97 $this->testObj->setPass($pass);
98 $this->assertEquals($pass, $this->testObj->getPass());
104 $this->testObj->setPass($pass);
105 $this->assertEquals($pass, $this->testObj->getPass());
107 $this->testObj->increasePass();
108 $this->assertEquals(++$pass, $this->testObj->getPass());
113 $this->assertFalse($this->testObj->isSubmitted());
114 $this->testObj->setSubmitted();
116 $this->assertTrue($this->testObj->isSubmitted());
121 $this->assertEmpty($this->testObj->getSubmittedTimestamp());
122 $this->testObj->setSubmittedTimestamp();
124 $this->assertIsString($this->testObj->getSubmittedTimestamp());
129 $lastFinishedPass = 20;
130 $this->testObj->setLastFinishedPass($lastFinishedPass);
131 $this->assertEquals($lastFinishedPass, $this->testObj->getLastFinishedPass());
136 $objectiveOriented = 20;
137 $this->testObj->setObjectiveOrientedContainerId($objectiveOriented);
138 $this->assertEquals($objectiveOriented, $this->testObj->getObjectiveOrientedContainerId());
143 $lastStartedPass = 20;
144 $this->testObj->setLastStartedPass($lastStartedPass);
145 $this->assertEquals($lastStartedPass, $this->testObj->getLastStartedPass());
150 $this->assertFalse($this->testObj->isObjectiveOriented());
152 $this->testObj->setObjectiveOrientedContainerId(20);
153 $this->assertTrue($this->testObj->isObjectiveOriented());
160 $this->testObj->setAccessCodeToSession($access_code);
168 $this->testObj->setAccessCodeToSession($access_code);
171 $this->testObj->unsetAccessCodeInSession();
177 $this->assertFalse($this->testObj->isAnonymousUser());
180 $this->assertTrue($this->testObj->isAnonymousUser());
186 $this->testObj->active_id = $active_id;
187 $this->testObj->setPasswordChecked(
true);
189 $this->assertTrue($this->testObj->isPasswordChecked());
196 $this->expectException(ilTestException::class);
197 $this->expectExceptionMessage(
'active id given does not relate to current anonymous session!');
207 $session->setAccessCodeToSession(
'attacker-code');
209 $this->expectException(ilTestException::class);
210 $this->expectExceptionMessage(
'active id given does not relate to current anonymous session!');
212 $session->checkAccess(
220 $session->setAccessCodeToSession(
'matching-code');
222 $session->checkAccess(
226 $this->addToAssertionCount(1);
232 $session->setAccessCodeToSession(
'matching-code');
234 $this->expectException(ilTestException::class);
235 $this->expectExceptionMessage(
'active id given does not relate to current test!');
236 $session->checkAccess(
247 $this->addToAssertionCount(1);
253 $session->setUserId(2);
255 $this->expectException(ilTestException::class);
256 $this->expectExceptionMessage(
'active id given does not relate to current user!');
258 $session->checkAccess(
262 $this->addToAssertionCount(1);
271 $this->addToAssertionCount(1);
277 $test->method(
'getTestId')->willReturn($test_id);
285 ?
string $access_code =
null
287 $user = $this->createMock(
ilObjUser::class);
288 $user->method(
'getId')->willReturn(
$user_id);
292 $this->createMock(ilDBInterface::class),
296 $session->setTestId($test_id);
297 $session->active_id = $active_id;
299 if ($access_code !==
null) {
300 $session->setAnonymousId($access_code);
static get(string $a_var)
static set(string $a_var, $a_val)
Set a value.
testCheckAccessAllowsAuthenticatedUsers()
testCheckAccessRejectsAnonymousActiveIdWithoutAccessCode()
testUnsetAccessCodeInSession()
testIsObjectiveOriented()
testCheckAccessRejectsActiveIdFromDifferentTest()
getTestObject(int $test_id)
createTestSession(int $user_id, int $active_id, int $test_id, ?string $access_code=null)
testCheckAccessRejectsAuthenticatedUsersWithInconsistentUserId()
testSetAccessCodeToSession()
test_instantiateObject_shouldReturnInstance()
testObjectiveOrientedContainerId()
testCheckAccessAcceptsAnonymousActiveIdWithMatchingAccessCode()
testCheckAccessAllowsAnonymousWithoutActiveId()
testCheckAccessRejectsAnonymousActiveIdWithForeignAccessCode()
const ACCESS_CODE_SESSION_INDEX
addGlobal_ilNavigationHistory()
addGlobal_GlobalScreenService()
setGlobalVariable(string $name, mixed $value)
addGlobal_ilObjDataCache()