You are here

PaymentTestPaymentMethodEntityPermissionWebTestCase.test in Payment 7

Contains class PaymentTestPaymentMethodEntityPermissionWebTestCase.

File

tests/payment_test/tests/PaymentTestPaymentMethodEntityPermissionWebTestCase.test
View source
<?php

/**
 * @file
 * Contains class PaymentTestPaymentMethodEntityPermissionWebTestCase.
 */

/**
 * Tests payment_method entity permissions.
 */
class PaymentTestPaymentMethodEntityPermissionWebTestCase extends PaymentWebTestCase {
  static function getInfo() {
    return array(
      'description' => '',
      'name' => 'Payment method permissions',
      'group' => 'Payment',
      'dependencies' => array(
        'payment',
        'paymentmethodbasic',
      ),
    );
  }

  /**
   * Overrides parent::setUp().
   */
  function setUp(array $modules = array()) {
    parent::setUp($modules + array(
      'payment',
      'paymentmethodbasic',
    ));
  }
  function testPaymentMethodEntityPermissions() {

    // Create a new payment method.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(0, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'create', array(
      'payment.payment_method.create.PaymentMethodBasicController',
    ));

    // Update a payment method that belongs to user 1.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'update', array(
      'payment.payment_method.update.any',
    ));

    // Update a payment method that belongs to user 2.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'update', array(
      'payment.payment_method.update.own',
    ));

    // Delete a payment method that belongs to user 1.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'delete', array(
      'payment.payment_method.delete.any',
    ));

    // Delete a payment method that belongs to user 2.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'delete', array(
      'payment.payment_method.delete.own',
    ));

    // Enable an enabled payment method that belongs to user 1.
    $payment_method = $this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController'));
    $this
      ->assertEntityPermission($payment_method, 'enabled payment method', 'payment_method_access', 'enable', array(
      'payment.payment_method.update.any',
    ), array(
      'root' => FALSE,
      'authenticated_with_permissions' => FALSE,
    ));

    // Enable an enabled payment method that belongs to user 2.
    $payment_method = $this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController'));
    $this
      ->assertEntityPermission($payment_method, 'enabled payment method', 'payment_method_access', 'enable', array(
      'payment.payment_method.update.own',
    ), array(
      'root' => FALSE,
      'authenticated_with_permissions' => FALSE,
    ));

    // Enable a disabled payment method that belongs to user 1.
    $payment_method = $this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController'));
    $payment_method->enabled = FALSE;
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'enable', array(
      'payment.payment_method.update.any',
    ));

    // Enable a disabled payment method that belongs to user 2.
    $payment_method = $this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController'));
    $payment_method->enabled = FALSE;
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'enable', array(
      'payment.payment_method.update.own',
    ));

    // Disable a disabled payment method that belongs to user 1.
    $payment_method = $this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController'));
    $payment_method->enabled = FALSE;
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'disable', array(
      'payment.payment_method.update.any',
    ), array(
      'root' => FALSE,
      'authenticated_with_permissions' => FALSE,
    ));

    // Disable a disabled payment method that belongs to user 2.
    $payment_method = $this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController'));
    $payment_method->enabled = FALSE;
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'disable', array(
      'payment.payment_method.update.own',
    ), array(
      'root' => FALSE,
      'authenticated_with_permissions' => FALSE,
    ));

    // Disable an enabled payment method that belongs to user 1.
    $payment_method = $this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController'));
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'disable', array(
      'payment.payment_method.update.any',
    ));

    // Enable am enabled payment method that belongs to user 2.
    $payment_method = $this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController'));
    $this
      ->assertEntityPermission($payment_method, 'disabled payment method', 'payment_method_access', 'disable', array(
      'payment.payment_method.update.own',
    ));

    // Clone a payment method that belongs to user 1.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'clone', array(
      'payment.payment_method.view.any',
      'payment.payment_method.create.PaymentMethodBasicController',
    ));

    // Clone a payment method that belongs to user 2.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'clone', array(
      'payment.payment_method.view.own',
      'payment.payment_method.create.PaymentMethodBasicController',
    ));

    // View a payment method that belongs to user 1.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(1, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'view', array(
      'payment.payment_method.view.any',
    ));

    // View a payment method that belongs to user 2.
    $this
      ->assertEntityPermission($this
      ->paymentMethodCreate(2, payment_method_controller_load('PaymentMethodBasicController')), 'payment method', 'payment_method_access', 'view', array(
      'payment.payment_method.view.own',
    ));
  }

}

Classes

Namesort descending Description
PaymentTestPaymentMethodEntityPermissionWebTestCase Tests payment_method entity permissions.