Add update to bank account

This commit is contained in:
philipp lang 2025-04-04 21:42:54 +02:00
parent 2e010aece1
commit f2fb583797
3 changed files with 39 additions and 2 deletions

View File

@ -121,6 +121,7 @@ class MemberRequest extends FormRequest
$namiSync = $member->isDirty(Member::$namiFields);
$member->save();
$member->bankAccount->update($this->input('bank_account'));
if ($this->input('has_nami') && null === $member->nami_id) {
$this->storeFreshMemberInNami($member);

View File

@ -1,5 +1,6 @@
<?php
use App\Member\Member;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
@ -22,6 +23,10 @@ return new class extends Migration
$table->string('account_number')->nullable();
$table->timestamps();
});
foreach (Member::get() as $member) {
$member->bankAccount()->create([]);
}
}
/**

View File

@ -32,7 +32,7 @@ class UpdateTest extends TestCase
$response = $this
->from("/member/{$member->id}")
->patch("/member/{$member->id}", array_merge($member->getAttributes(), ['has_nami' => true]));
->patch("/member/{$member->id}", array_merge($member->getAttributes(), ['has_nami' => true, 'bank_account' => []]));
$response->assertRedirect('/member');
NamiPutMemberAction::spy()->shouldHaveReceived('handle')->withArgs(
@ -51,7 +51,7 @@ class UpdateTest extends TestCase
$response = $this
->from("/member/{$member->id}")
->patch("/member/{$member->id}", array_merge($member->getAttributes(), ['has_nami' => true, 'firstname' => '::firstname::']));
->patch("/member/{$member->id}", array_merge($member->getAttributes(), ['has_nami' => true, 'firstname' => '::firstname::', 'bank_account' => []]));
$response->assertRedirect("/member/{$member->id}/edit?conflict=1");
}
@ -68,6 +68,7 @@ class UpdateTest extends TestCase
'fax' => '02103 4455130',
'children_phone' => '02103 4455130',
'has_nami' => true,
'bank_account' => []
]));
$this->assertDatabaseHas('members', [
@ -77,6 +78,30 @@ class UpdateTest extends TestCase
]);
}
public function testItUpdatesBankAccount(): void
{
$this->withoutExceptionHandling()->login()->loginNami();
$member = $this->member();
$this->fakeRequest();
NamiPutMemberAction::allowToRun();
$this->patch("/member/{$member->id}", array_merge($member->getAttributes(), [
'has_nami' => true,
'bank_account' => [
'iban' => 'DE1122',
'bic' => 'SOLSDE',
'person' => 'Max'
]
]));
$this->assertDatabaseHas('bank_accounts', [
'iban' => 'DE1122',
'bic' => 'SOLSDE',
'person' => 'Max',
'member_id' => $member->id,
]);
}
public function testItUpdatesWiederverwendenFlag(): void
{
$this->withoutExceptionHandling()->login()->loginNami();
@ -87,6 +112,7 @@ class UpdateTest extends TestCase
$this->patch("/member/{$member->id}", array_merge($member->getAttributes(), [
'keepdata' => true,
'has_nami' => true,
'bank_account' => []
]));
$this->assertDatabaseHas('members', [
@ -103,6 +129,7 @@ class UpdateTest extends TestCase
$this->patch("/member/{$member->id}", array_merge($member->getAttributes(), [
'location' => null,
'bank_account' => []
]));
$this->assertDatabaseHas('members', [
@ -120,6 +147,7 @@ class UpdateTest extends TestCase
->from("/member/{$member->id}")
->patch("/member/{$member->id}", array_merge($member->getAttributes(), [
'other_country' => 'englisch',
'bank_account' => []
]));
$this->assertEquals('englisch', $member->fresh()->other_country);
@ -141,6 +169,7 @@ class UpdateTest extends TestCase
'has_nami' => true,
'first_activity_id' => $activity->id,
'first_subactivity_id' => $subactivity->id,
'bank_account' => []
])->assertSessionHasNoErrors();
app(MemberFake::class)->assertStored($member->group->nami_id, [
@ -163,6 +192,7 @@ class UpdateTest extends TestCase
'has_nami' => true,
'first_activity_id' => null,
'first_subactivity_id' => null,
'bank_account' => []
])->assertSessionHasErrors([
'first_activity_id' => 'Erste Tätigkeit ist erforderlich.',
'first_subactivity_id' => 'Erste Untergliederung ist erforderlich.',
@ -190,6 +220,7 @@ class UpdateTest extends TestCase
'multiply_pv' => true,
'multiply_more_pv' => true,
'salutation' => 'Doktor',
'bank_account' => []
]));
$this->assertEquals('2021-02-01', $member->fresh()->ps_at->format('Y-m-d'));