status = Account::STATUS_ACTIVE; $form = new BanAccountForm($account); $form->validateAccountActivity(); $this->assertEmpty($form->getErrors('account')); $account = new Account(); $account->status = Account::STATUS_BANNED; $form = new BanAccountForm($account); $form->validateAccountActivity(); $this->assertEquals([E::ACCOUNT_ALREADY_BANNED], $form->getErrors('account')); } public function testBan() { /** @var Account|\PHPUnit_Framework_MockObject_MockObject $account */ $account = $this->getMockBuilder(Account::class) ->setMethods(['save']) ->getMock(); $account->expects($this->once()) ->method('save') ->willReturn(true); $model = new BanAccountForm($account); $this->assertTrue($model->performAction()); $this->assertEquals(Account::STATUS_BANNED, $account->status); /** @var ClearAccountSessions $job */ $job = $this->tester->grabLastQueuedJob(); $this->assertInstanceOf(ClearAccountSessions::class, $job); $this->assertSame($job->accountId, $account->id); } }