You are here

public function AgreementHandlerTest::getAgreementProvider in Agreement 8.2

Same name and namespace in other branches
  1. 3.0.x tests/src/Unit/AgreementHandlerTest.php \Drupal\Tests\agreement\Unit\AgreementHandlerTest::getAgreementProvider()

Provides test arguments for the testGetAgreementByUserAndPath().

Return value

array An indexed array of test arguments.

File

tests/src/Unit/AgreementHandlerTest.php, line 206

Class

AgreementHandlerTest
Tests logic in the agreement handler service.

Namespace

Drupal\Tests\agreement\Unit

Code

public function getAgreementProvider() {
  $defaults = [
    'id' => 'default',
    'label' => 'Default agreement',
    'path' => '/agreement',
    'settings' => [
      'visibility' => [
        'settings' => 0,
        'pages' => [],
      ],
      'roles' => [
        'authenticated',
      ],
      'frequency' => -1,
      'title' => 'Our Agreement',
      'checkbox' => 'I agree.',
      'submit' => 'Submit',
      'success' => 'Thank you for accepting our agreement.',
      'revoked' => 'You have successfully revoked your acceptance of our agreement.',
      'failure' => 'You must accept our agreement to continue.',
      'destination' => '',
      'recipient' => '',
      'reset_date' => 0,
      'format' => 'plain_text',
    ],
    'agreement' => '',
  ];
  $defaultAgreement = new Agreement($defaults, 'agreement');
  $visibilityValues = $defaults;
  $visibilityValues['id'] = 'node_one';
  $visibilityValues['label'] = 'Node one agreement';
  $visibilityValues['settings']['visibility']['settings'] = 1;
  $visibilityValues['settings']['visibility']['pages'] = [
    '/node/1',
  ];
  $visibilityAgreement = new Agreement($visibilityValues, 'agreement');
  return [
    [
      $defaultAgreement,
      [
        'default' => $defaultAgreement,
      ],
      [
        'authenticated',
      ],
      NULL,
      '<front>',
    ],
    [
      FALSE,
      [
        'default' => $defaultAgreement,
      ],
      [
        'authenticated',
      ],
      1,
      '<front>',
    ],
    [
      FALSE,
      [
        'default' => $defaultAgreement,
      ],
      [
        'authenticated',
      ],
      1,
      '/user/logout',
    ],
    [
      $defaultAgreement,
      [
        'default' => $defaultAgreement,
      ],
      [
        'authenticated',
      ],
      0,
      '<front>',
    ],
    [
      FALSE,
      [
        'default' => $defaultAgreement,
      ],
      [
        'anonymous',
      ],
      NULL,
      '<front>',
    ],
    [
      FALSE,
      [
        'node_one' => $visibilityAgreement,
      ],
      [
        'authenticated',
      ],
      NULL,
      '<front>',
    ],
    [
      $visibilityAgreement,
      [
        'node_one' => $visibilityAgreement,
      ],
      [
        'authenticated',
      ],
      NULL,
      '/node/1',
    ],
    [
      FALSE,
      [
        'node_one' => $visibilityAgreement,
      ],
      [
        'authenticated',
      ],
      1,
      '/node/1',
    ],
    [
      $defaultAgreement,
      [
        'default' => $defaultAgreement,
        'node_one' => $visibilityAgreement,
      ],
      [
        'authenticated',
      ],
      NULL,
      '<front>',
    ],
  ];
}