Pull membeer before pushing
This commit is contained in:
parent
326761e88d
commit
b833537f32
|
@ -125,8 +125,12 @@ class Api {
|
|||
|
||||
public function putMember(array $attributes) {
|
||||
$member = Member::fromAttributes($attributes);
|
||||
$existing = $this->member($member->group_id, $member->id);
|
||||
if (data_get($attributes, 'id')) {
|
||||
$response = $this->http()->put(self::$url.'/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/'.$member->group_id.'/'.$member->id, $member->toNami());
|
||||
$response = $this->http()->put(
|
||||
self::$url.'/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/'.$member->group_id.'/'.$member->id,
|
||||
array_merge($existing, $member->toNami())
|
||||
);
|
||||
if (data_get($response->json(), 'success') !== true) {
|
||||
$this->exception('Update failed', $member->toNami(), $response->json());
|
||||
}
|
||||
|
|
|
@ -67,6 +67,11 @@ class FakeBackend {
|
|||
return $this->fakeMembers([$data]);
|
||||
}
|
||||
|
||||
public function singleMemberUrl(int $gruppierungId, int $memberId): string
|
||||
{
|
||||
return "https://nami.dpsg.de/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/{$gruppierungId}/{$memberId}";
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<int, array<string, mixed>> $data
|
||||
*/
|
||||
|
@ -74,7 +79,7 @@ class FakeBackend {
|
|||
{
|
||||
Http::fake(function($request) use ($data) {
|
||||
foreach ($data as $member) {
|
||||
if ($request->url() === "https://nami.dpsg.de/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/{$member['gruppierungId']}/{$member['id']}") {
|
||||
if ($request->url() === $this->singleMemberUrl($member['gruppierungId'], $member['id']) && $request->method() === 'GET') {
|
||||
$content = [
|
||||
'success' => true,
|
||||
'data' => $member,
|
||||
|
|
|
@ -58,7 +58,7 @@ class PushMemberTest extends TestCase
|
|||
$this->assertEquals(16, $res['id']);
|
||||
|
||||
Http::assertSent(function($request) use ($check) {
|
||||
if ($request->url() != 'https://nami.dpsg.de/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/103/16') {
|
||||
if ($request->url() != 'https://nami.dpsg.de/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/103/16' || $request->method() !== 'PUT') {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ class PushMemberTest extends TestCase
|
|||
return $request->method() === 'PUT';
|
||||
});
|
||||
|
||||
Http::assertSentCount(1);
|
||||
Http::assertSentCount(2);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue