diff --git a/src/Data/BankAccount.php b/src/Data/BankAccount.php new file mode 100644 index 0000000..9d5d3e6 --- /dev/null +++ b/src/Data/BankAccount.php @@ -0,0 +1,30 @@ + '::firstname::', 'wiederverwendenFlag' => false, 'zeitschriftenversand' => true, + 'kontoverbindung' => ['mitgliedsNummer' => 55, 'id' => 5656], ], $data)); } }); diff --git a/tests/Unit/Api/FetchMemberTest.php b/tests/Unit/Api/FetchMemberTest.php index 3be58b2..13d6baf 100644 --- a/tests/Unit/Api/FetchMemberTest.php +++ b/tests/Unit/Api/FetchMemberTest.php @@ -78,6 +78,64 @@ class FetchMemberTest extends TestCase $this->assertSame('Gruppe', $member->groupName); } + public function testItGetsMembersBankAccountData(): void + { + app(MemberFake::class)->shows(1000, 1001, [ + 'kontoverbindung' => [ + 'bankleitzahl' => '34255555', + 'bic' => 'SOLSDE33XXX', + 'iban' => 'DE4534250000185577622', + 'id' => 123, + 'institut' => 'Bank', + 'kontoinhaber' => 'Max', + 'kontonummer' => '77622', + 'mitgliedsNummer' => 1001, + 'zahlungsKonditionId' => 500, + ] + ]); + + $member = $this->login()->member(1000, 1001); + + $this->assertSame('34255555', $member->bankAccount->blz); + $this->assertSame('SOLSDE33XXX', $member->bankAccount->bic); + $this->assertSame('DE4534250000185577622', $member->bankAccount->iban); + $this->assertSame(123, $member->bankAccount->id); + $this->assertSame('Bank', $member->bankAccount->bankName); + $this->assertSame('Max', $member->bankAccount->person); + $this->assertSame('77622', $member->bankAccount->accountNumber); + $this->assertSame(1001, $member->bankAccount->memberId); + $this->assertSame(500, $member->bankAccount->conditionId); + } + + public function testItGetsMinimalBankAccountData(): void + { + app(MemberFake::class)->shows(1000, 1001, [ + 'kontoverbindung' => [ + 'bankleitzahl' => null, + 'bic' => null, + 'iban' => null, + 'id' => 123, + 'institut' => null, + 'kontoinhaber' => null, + 'kontonummer' => null, + 'mitgliedsNummer' => 1001, + 'zahlungsKonditionId' => null, + ] + ]); + + $member = $this->login()->member(1000, 1001); + + $this->assertNull($member->bankAccount->blz); + $this->assertNull($member->bankAccount->bic); + $this->assertNull($member->bankAccount->iban); + $this->assertSame(123, $member->bankAccount->id); + $this->assertNull($member->bankAccount->bankName); + $this->assertNull($member->bankAccount->person); + $this->assertNull($member->bankAccount->accountNumber); + $this->assertSame(1001, $member->bankAccount->memberId); + $this->assertNull($member->bankAccount->conditionId); + } + public function testGetMinimalData(): void { app(MemberFake::class)->shows(1000, 1001, [