/** * @test */ public function shouldReturnTheSessionInfoAsArray() { $tutor = new User(); $tutor->setId(123); $tutor->setUsername('theTutor'); $asker = new User(); $asker->setId(456); $asker->setUsername('theAsker'); $question = new StudentQuestion(); $question->setTutor($tutor); $question->setStudent($asker); $question->setQuestion('This is a question.'); $session = new WhiteboardSession(); $session->setId(999); $session->setStudentQuestion($question); $session->setType(1); $sessionInfo = $session->info(); $this->assertEquals(999, $sessionInfo['id']); $this->assertEquals('This is a question.', $sessionInfo['question']); $this->assertEquals(1, $sessionInfo['session']['type']); $this->assertEquals(123, $sessionInfo['tutor']['id']); $this->assertEquals('theTutor', $sessionInfo['tutor']['username']); $this->assertEquals(456, $sessionInfo['student']['id']); $this->assertEquals('theAsker', $sessionInfo['student']['username']); $this->assertFalse(array_key_exists('whiteboard-session', $sessionInfo)); }
public function connect($userId, $questionId) { $question = StudentQuestionPeer::retrieveByPk($questionId); $session = new WhiteboardSession(); $session->setStudentQuestion($question); $session->setType($this->getType($userId, $question)); $session->setToken($this->generateToken($userId, $questionId)); $session->setUserId($userId); $session->save(); return $session; }