You are here

public function AuthcacheP13nTestSettingBuilder::testSettingBuilderMultiSettings in Authenticated User Page Caching (Authcache) 7.2

Test setting request.

File

modules/authcache_p13n/tests/authcache_p13n.request-handler.test, line 709
Define unit tests for request handler.

Class

AuthcacheP13nTestSettingBuilder
Tests update functionality unrelated to the database.

Code

public function testSettingBuilderMultiSettings() {
  $settings = array(
    's1' => array(
      'renderer' => new AuthcacheP13nTestEchoSetting(),
      'target' => 'targetSetting',
      'validator' => NULL,
      'access' => NULL,
    ),
    's2' => array(
      'renderer' => new AuthcacheP13nTestEchoSetting(),
      'target' => 'targetSetting',
      'validator' => NULL,
      'access' => NULL,
    ),
    's3' => array(
      'renderer' => new AuthcacheP13nTestEchoSetting(),
      'target' => 'otherTarget',
      'validator' => NULL,
      'access' => NULL,
    ),
  );
  $builder = new AuthcacheP13nSettingBuilder($settings);
  $input = array(
    'a' => array(
      's1' => array(
        'some_key' => array(
          'some' => 'subject',
        ),
      ),
      's2' => array(
        'some_key' => array(
          'other' => 'other subject',
        ),
      ),
      's3' => array(
        'some_key' => array(
          'third' => 'subject',
        ),
      ),
    ),
  );
  $expect = array(
    'targetSetting' => array(
      'params' => array(
        'some_key' => array(
          'some' => 'subject',
          'other' => 'other subject',
        ),
      ),
    ),
    'otherTarget' => array(
      'params' => array(
        'some_key' => array(
          'third' => 'subject',
        ),
      ),
    ),
  );
  $output = $builder
    ->build($input, array());
  $this
    ->assertEqual($expect, $output);
}