Skip to content

Commit 36fb155

Browse files
Merge pull request #46 from jorisvanandel/fix/link-booking-to-financial-mutation-request-returns-status-code
2 parents c326773 + 74876cc commit 36fb155

4 files changed

Lines changed: 7 additions & 47 deletions

File tree

src/Api/FinancialMutations/FinancialMutationsEndpoint.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Sandorian\Moneybird\Api\FinancialMutations;
66

7+
use Saloon\Http\Response;
78
use Saloon\PaginationPlugin\Paginator;
89
use Sandorian\Moneybird\Api\Support\BaseEndpoint;
910
use Sandorian\Moneybird\Api\Support\IdVersion;
@@ -72,10 +73,10 @@ public function update(string $financialMutationId, array $body): FinancialMutat
7273
/**
7374
* @param array<string, mixed> $body
7475
*/
75-
public function linkBooking(string $financialMutationId, array $body): FinancialMutation
76+
public function linkBooking(string $financialMutationId, array $body): Response
7677
{
7778
$request = new LinkBookingToFinancialMutationRequest($financialMutationId, $body);
7879

79-
return $this->client->send($request)->dtoOrFail();
80+
return $this->client->send($request);
8081
}
8182
}

src/Api/FinancialMutations/LinkBookingToFinancialMutationRequest.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Sandorian\Moneybird\Api\FinancialMutations;
66

7-
use Saloon\Http\Response;
87
use Sandorian\Moneybird\Api\Support\BaseJsonPatchRequest;
98
use Sandorian\Moneybird\Api\Support\EncapsulatesData;
109

@@ -27,11 +26,6 @@ public function resolveEndpoint(): string
2726
return 'financial_mutations/'.$this->financialMutationId.'/link_booking';
2827
}
2928

30-
public function createDtoFromResponse(Response $response): FinancialMutation
31-
{
32-
return FinancialMutation::createFromResponseData($response->json());
33-
}
34-
3529
protected function defaultBody(): array
3630
{
3731
return $this->data;

tests/Api/FinancialMutations/FinancialMutationsEndpointTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Sandorian\Moneybird\Tests\Api\FinancialMutations;
66

77
use Saloon\Http\Faking\MockResponse;
8+
use Saloon\Http\Response;
89
use Sandorian\Moneybird\Api\FinancialMutations\FinancialMutation;
910
use Sandorian\Moneybird\Api\FinancialMutations\GetFinancialMutationRequest;
1011
use Sandorian\Moneybird\Api\FinancialMutations\GetFinancialMutationsRequest;
@@ -30,7 +31,7 @@ protected function setUp(): void
3031
PostFinancialMutationsSynchronizationRequest::class => MockResponse::make(FinancialMutationsResponseStub::getAll(), 200),
3132
GetFinancialMutationRequest::class => MockResponse::make(FinancialMutationsResponseStub::get(), 200),
3233
UpdateFinancialMutationRequest::class => MockResponse::make(FinancialMutationsResponseStub::update(), 200),
33-
LinkBookingToFinancialMutationRequest::class => MockResponse::make(FinancialMutationsResponseStub::linkBooking(), 200),
34+
LinkBookingToFinancialMutationRequest::class => MockResponse::make([], 200),
3435
]);
3536
}
3637

@@ -86,15 +87,12 @@ public function test_it_can_update_a_financial_mutation(): void
8687

8788
public function test_it_can_link_booking_to_financial_mutation(): void
8889
{
89-
$financialMutation = $this->client->financialMutations()->linkBooking('123456789', [
90+
$response = $this->client->financialMutations()->linkBooking('123456789', [
9091
'booking_type' => 'LedgerAccountBooking',
9192
'booking_id' => '123456',
9293
'price' => '100.00',
9394
]);
9495

95-
$this->assertInstanceOf(FinancialMutation::class, $financialMutation);
96-
$this->assertSame('123456789', $financialMutation->id);
97-
$this->assertCount(1, $financialMutation->ledger_account_bookings);
98-
$this->assertSame('123456', $financialMutation->ledger_account_bookings[0]['id']);
96+
$this->assertInstanceOf(Response::class, $response);
9997
}
10098
}

tests/Api/FinancialMutations/FinancialMutationsResponseStub.php

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -109,37 +109,4 @@ public static function update(): string
109109
"payments": []
110110
}';
111111
}
112-
113-
public static function linkBooking(): string
114-
{
115-
return '{
116-
"id": "123456789",
117-
"administration_id": "123",
118-
"financial_account_id": "456789123",
119-
"type": "debit",
120-
"amount": "100.00",
121-
"code": "TRTP",
122-
"date": "2023-01-01",
123-
"message": "Payment for invoice",
124-
"contra_account_name": "Client Company",
125-
"contra_account_number": "NL01BANK9876543210",
126-
"batch_reference": "BATCH123",
127-
"offset_id": null,
128-
"sepa_fields": null,
129-
"created_at": "2023-01-01T12:00:00.000Z",
130-
"updated_at": "2023-01-03T12:00:00.000Z",
131-
"ledger_account_bookings": [
132-
{
133-
"id": "123456",
134-
"administration_id": "123",
135-
"ledger_account_id": "789456",
136-
"description": "Booking for invoice payment",
137-
"price": "100.00",
138-
"created_at": "2023-01-03T12:00:00.000Z",
139-
"updated_at": "2023-01-03T12:00:00.000Z"
140-
}
141-
],
142-
"payments": []
143-
}';
144-
}
145112
}

0 commit comments

Comments
 (0)