You are here

class BynderApiUnitTest in Bynder 8.2

Same name and namespace in other branches
  1. 8.3 tests/src/Unit/BynderApiUnitTest.php \Drupal\Tests\bynder\Unit\BynderApiUnitTest
  2. 8 tests/src/Unit/BynderApiUnitTest.php \Drupal\Tests\bynder\Unit\BynderApiUnitTest
  3. 4.0.x tests/src/Unit/BynderApiUnitTest.php \Drupal\Tests\bynder\Unit\BynderApiUnitTest

@coversDefaultClass \Drupal\bynder\BynderApi

@group bynder

Hierarchy

Expanded class hierarchy of BynderApiUnitTest

File

tests/src/Unit/BynderApiUnitTest.php, line 19

Namespace

Drupal\Tests\bynder\Unit
View source
class BynderApiUnitTest extends UnitTestCase {

  /**
   * @covers ::hasAccessToken
   *
   * @dataProvider providerHasAccessToken
   */
  public function testHasAccessToken($session_data, $valid_hash, $state_times, $expected) {
    $session = $this
      ->prophesize(SessionInterface::class);
    $session
      ->get('bynder', [])
      ->willReturn($session_data)
      ->shouldBeCalledTimes(1);
    $state = $this
      ->prophesize(StateInterface::class);
    $state
      ->get('bynder_config_hash')
      ->willReturn($valid_hash)
      ->shouldBeCalledTimes($state_times);
    $logger = $this
      ->prophesize(LoggerChannelFactoryInterface::class);
    $config = $this
      ->prophesize(ConfigFactoryInterface::class);
    $cache = $this
      ->prophesize(CacheBackendInterface::class);
    $time = $this
      ->prophesize(TimeInterface::class);
    $api = new BynderApi($config
      ->reveal(), $logger
      ->reveal(), $session
      ->reveal(), $state
      ->reveal(), $cache
      ->reveal(), $time
      ->reveal());
    $this
      ->assertEquals($expected, $api
      ->hasAccessToken());
  }

  /**
   * Data provider for testHasAccessToken().
   */
  public function providerHasAccessToken() {
    $data = [];
    $data['no_session_data'] = [
      [],
      'valid_hash',
      0,
      FALSE,
    ];
    $data['no_token'] = [
      [
        'access_token' => [
          'oauth_token_secret' => 'secret',
        ],
      ],
      'valid_hash',
      0,
      FALSE,
    ];
    $data['no_secret'] = [
      [
        'access_token' => [
          'oauth_token' => 'token',
        ],
      ],
      'valid_hash',
      0,
      FALSE,
    ];
    $data['no_hash'] = [
      [
        'access_token' => [
          'oauth_token' => 'token',
          'oauth_token_secret' => 'secret',
        ],
      ],
      'valid_hash',
      0,
      FALSE,
    ];
    $data['valid'] = [
      [
        'access_token' => [
          'oauth_token' => 'token',
          'oauth_token_secret' => 'secret',
        ],
        'config_hash' => 'valid_hash',
      ],
      'valid_hash',
      1,
      TRUE,
    ];
    return $data;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BynderApiUnitTest::providerHasAccessToken public function Data provider for testHasAccessToken().
BynderApiUnitTest::testHasAccessToken public function @covers ::hasAccessToken
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340