Skip to content

Commit bc5bc87

Browse files
authored
Allow null value for card_number (#37)
* Remove type hint from card_number parameters * Add null value to bad card number test * fix test data * remove trailing whitespace
1 parent 2ce424c commit bc5bc87

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/Factory.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,23 @@ class Factory
4040
];
4141

4242
/**
43-
* @param string $card_number
43+
* @param string|mixed $card_number
4444
*
4545
* @return \LVR\CreditCard\Cards\Card
4646
* @throws \LVR\CreditCard\Exceptions\CreditCardException
4747
*/
48-
public static function makeFromNumber(string $card_number)
48+
public static function makeFromNumber($card_number)
4949
{
5050
return self::determineCardByNumber($card_number);
5151
}
5252

5353
/**
54-
* @param string $card_number
54+
* @param string|mixed $card_number
5555
*
5656
* @return mixed
5757
* @throws \LVR\CreditCard\Exceptions\CreditCardException
5858
*/
59-
protected static function determineCardByNumber(string $card_number)
59+
protected static function determineCardByNumber($card_number)
6060
{
6161
foreach (self::$available_cards as $card) {
6262
if (preg_match($card::$pattern, $card_number)) {

tests/Unit/CardTest.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,17 @@
1010

1111
class CardTest extends TestCase
1212
{
13-
/** @test **/
14-
public function it_expects_card_number()
13+
/** @test @dataProvider badStrings **/
14+
public function it_expects_card_number($input)
1515
{
1616
$this->expectException(CreditCardException::class);
1717

18-
Factory::makeFromNumber('');
18+
Factory::makeFromNumber($input);
19+
}
20+
21+
public function badStrings()
22+
{
23+
return ['empty string' => [''], 'null' => [null]];
1924
}
2025

2126
/** @test **/

0 commit comments

Comments
 (0)