/** * @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()); }