Add: Fetch Bank account data from member
This commit is contained in:
parent
8adf858abc
commit
9e74212d84
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Zoomyboy\LaravelNami\Data;
|
||||||
|
|
||||||
|
use Spatie\LaravelData\Data;
|
||||||
|
use Spatie\LaravelData\Attributes\MapInputName;
|
||||||
|
|
||||||
|
class BankAccount extends Data
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
public int $id,
|
||||||
|
|
||||||
|
#[MapInputName('mitgliedsNummer')]
|
||||||
|
public int $memberId,
|
||||||
|
|
||||||
|
#[MapInputName('bankleitzahl')]
|
||||||
|
public ?string $blz = null,
|
||||||
|
public ?string $bic = null,
|
||||||
|
public ?string $iban = null,
|
||||||
|
#[MapInputName('institut')]
|
||||||
|
public ?string $bankName = null,
|
||||||
|
#[MapInputName('kontoinhaber')]
|
||||||
|
public ?string $person = null,
|
||||||
|
#[MapInputName('kontonummer')]
|
||||||
|
public ?string $accountNumber = null,
|
||||||
|
#[MapInputName('zahlungsKonditionId')]
|
||||||
|
public ?int $conditionId = null,
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
}
|
|
@ -122,6 +122,9 @@ class Member extends Data
|
||||||
|
|
||||||
#[MapInputName('zeitschriftenversand')]
|
#[MapInputName('zeitschriftenversand')]
|
||||||
public bool $sendNewspaper,
|
public bool $sendNewspaper,
|
||||||
|
|
||||||
|
#[MapInputName('kontoverbindung')]
|
||||||
|
public BankAccount $bankAccount,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ class MemberFake extends Fake
|
||||||
'vorname' => '::firstname::',
|
'vorname' => '::firstname::',
|
||||||
'wiederverwendenFlag' => false,
|
'wiederverwendenFlag' => false,
|
||||||
'zeitschriftenversand' => true,
|
'zeitschriftenversand' => true,
|
||||||
|
'kontoverbindung' => ['mitgliedsNummer' => 55, 'id' => 5656],
|
||||||
], $data));
|
], $data));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -78,6 +78,64 @@ class FetchMemberTest extends TestCase
|
||||||
$this->assertSame('Gruppe', $member->groupName);
|
$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
|
public function testGetMinimalData(): void
|
||||||
{
|
{
|
||||||
app(MemberFake::class)->shows(1000, 1001, [
|
app(MemberFake::class)->shows(1000, 1001, [
|
||||||
|
|
Loading…
Reference in New Issue