You are here

class CardExpirationTest in Creditfield Form Element 8

@coversDefaultClass \Drupal\creditfield\Element\CardExpiration @group creditfield

Hierarchy

Expanded class hierarchy of CardExpirationTest

File

tests/src/Unit/Element/CardExpirationTest.php, line 12

Namespace

Drupal\Tests\creditfield\Unit\Element
View source
class CardExpirationTest extends UnitTestCase {

  /**
   * @covers ::dateIsValid
   * @dataProvider providerValidCardExpirationDate
   */
  public function testGoodDateValidation($value) {
    $this
      ->assertTrue(CardExpiration::dateIsValid($value), 'Date "' . $value . '" should have passed validation, but did not.');
  }

  /**
   * @covers ::dateIsValid
   * @dataProvider providerInvalidCardExpirationDate
   */
  public function testBadDateValidation($value) {
    $this
      ->assertFalse(CardExpiration::dateIsValid($value), 'Date "' . $value . '" should not have passed validation, but did.');
  }

  /**
   * Data provider of valid dates. Includes variants that should pass validation.
   * Since our validator simply checks that the date is in the future, any future month/year combo should pass.
   * @return array
   */
  public function providerValidCardExpirationDate() {
    $year = date('Y') + 1;
    return [
      [
        $year . '-' . '01',
      ],
      [
        $year + 1 . '-' . '03',
      ],
      [
        $year + 2 . '-' . '07',
      ],
      [
        $year + 2 . '-' . '12',
      ],
      [
        date('Y') . '-' . date('m'),
      ],
    ];
  }

  /**
   * Data provider of invalid dates.
   * Since our validator simply checks that the date is in the future, any past month/year combo should fail. The current date should also fail.
   * @return array
   */
  public function providerInvalidCardExpirationDate() {
    $year = date('Y') - 3;
    return [
      [
        $year . '-' . '01',
      ],
      [
        $year + 1 . '-' . '09',
      ],
      [
        $year + 2 . '-' . '04',
      ],
      [
        $year + 2 . '-' . '13',
      ],
      [
        $year + 2 . '-' . '-2',
      ],
      [
        $year + 2 . '-' . '0',
      ],
      [
        $year + 1 . '-' . '24',
      ],
      [
        $year - 5 . '-' . '13',
      ],
      [
        $year - 5 . '-' . '32',
      ],
      [
        date('Y') . '-' . (date('m') - 1),
      ],
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CardExpirationTest::providerInvalidCardExpirationDate public function Data provider of invalid dates. Since our validator simply checks that the date is in the future, any past month/year combo should fail. The current date should also fail.
CardExpirationTest::providerValidCardExpirationDate public function Data provider of valid dates. Includes variants that should pass validation. Since our validator simply checks that the date is in the future, any future month/year combo should pass.
CardExpirationTest::testBadDateValidation public function @covers ::dateIsValid @dataProvider providerInvalidCardExpirationDate
CardExpirationTest::testGoodDateValidation public function @covers ::dateIsValid @dataProvider providerValidCardExpirationDate
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