/**
  * @covers PKPPublicAccessPolicy
  * @covers HandlerOperationPolicy
  */
 public function testPKPPublicAccessPolicy()
 {
     // Mock a request to the permitted operation.
     $request = $this->getMockRequest('permittedOperation');
     // Instantiate the policy.
     $policy = new PKPPublicAccessPolicy($request, 'permittedOperation');
     // Test default message.
     self::assertEquals('user.authorization.privateOperation', $policy->getAdvice(AUTHORIZATION_ADVICE_DENY_MESSAGE));
     // Test getters.
     self::assertEquals($request, $policy->getRequest());
     self::assertEquals(array('permittedOperation'), $policy->getOperations());
     // Test the effect with a public operation.
     self::assertEquals(AUTHORIZATION_PERMIT, $policy->effect());
     // Test the effect with a private operation
     $request = $this->getMockRequest('privateOperation');
     $policy = new PKPPublicAccessPolicy($request, 'permittedOperation');
     self::assertEquals(AUTHORIZATION_DENY, $policy->effect());
 }