public function testOnSubscribe() { $user = CMTest_TH::createUser(); /** @var CM_Model_StreamChannel_Message_User $channel */ $channel = CM_Model_StreamChannel_Message_User::createStatic(['key' => CM_Model_StreamChannel_Message_User::getKeyByUser($user), 'adapterType' => CM_MessageStream_Adapter_SocketRedis::getTypeStatic()]); $this->assertSame(false, $user->getOnline()); $subscribe = CMTest_TH::createStreamSubscribe($user, $channel); CMTest_TH::reinstantiateModel($user); $this->assertSame(true, $user->getOnline()); }
public function testExecute() { $user = CMTest_TH::createUser(); $user->setOnline(); $userChannel = CM_Model_StreamChannel_Message_User::createStatic(['key' => CM_Model_StreamChannel_Message_User::getKeyByUser($user), 'adapterType' => CM_MessageStream_Adapter_SocketRedis::getTypeStatic()]); $job = new CM_User_OfflineJob(); $this->assertSame(true, $user->getOnline()); $job->run(['user' => $user]); CMTest_TH::reinstantiateModel($user); $this->assertSame(true, $user->getOnline()); $userChannel->delete(); $job->run(['user' => $user]); CMTest_TH::reinstantiateModel($user); $this->assertSame(false, $user->getOnline()); }