From 9cb968afd8b1e16cb77fc4c1f7b6d40a88095141 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Tue, 2 Jun 2026 16:28:21 +0300 Subject: [PATCH] test element update route --- .../tests/Feature/ElementsEndpointTest.php | 34 +++++++++++++------ .../Controllers/ElementControllerTest.php | 18 +++++----- .../cypress/e2e/admin-element.cy.ts | 2 +- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/backend/tests/Feature/ElementsEndpointTest.php b/backend/tests/Feature/ElementsEndpointTest.php index b0f4b59..47b9f37 100644 --- a/backend/tests/Feature/ElementsEndpointTest.php +++ b/backend/tests/Feature/ElementsEndpointTest.php @@ -122,7 +122,8 @@ class ElementsEndpointTest extends TestCase parentElement: null, )); - $response = $this->postJson("/api/elements/{$element->getId()}", [ + $response = $this->postJson('/api/element/update', [ + 'elementId' => $element->getId(), 'title' => 'Updated title', 'description' => 'Updated description', 'iconImageUrl' => '/assets/updated-icon.png', @@ -162,7 +163,8 @@ class ElementsEndpointTest extends TestCase $response = $this->withCredentials() ->withUnencryptedCookie('auth_token', 'valid-token') - ->postJson("/api/elements/{$element->getId()}", [ + ->postJson('/api/element/update', [ + 'elementId' => $element->getId(), 'title' => 'Updated title', 'description' => 'Updated description', 'iconImageUrl' => '/assets/updated-icon.png', @@ -212,8 +214,11 @@ class ElementsEndpointTest extends TestCase )); $response = $this->post( - "/api/elements/{$element->getId()}", - ['iconImage' => $this->iconImageUpload()], + '/api/element/update', + [ + 'elementId' => (string) $element->getId(), + 'iconImage' => $this->iconImageUpload(), + ], ); $response->assertUnauthorized(); @@ -247,8 +252,11 @@ class ElementsEndpointTest extends TestCase $response = $this->withCredentials() ->withUnencryptedCookie('auth_token', 'valid-token') ->post( - "/api/elements/{$element->getId()}", - ['iconImage' => $this->iconImageUpload()], + '/api/element/update', + [ + 'elementId' => (string) $element->getId(), + 'iconImage' => $this->iconImageUpload(), + ], ); $response->assertOk(); @@ -290,8 +298,11 @@ class ElementsEndpointTest extends TestCase )); $response = $this->post( - "/api/elements/{$element->getId()}", - ['pdf' => $this->pdfUpload()], + '/api/element/update', + [ + 'elementId' => (string) $element->getId(), + 'pdf' => $this->pdfUpload(), + ], ); $response->assertUnauthorized(); @@ -325,8 +336,11 @@ class ElementsEndpointTest extends TestCase $response = $this->withCredentials() ->withUnencryptedCookie('auth_token', 'valid-token') ->post( - "/api/elements/{$element->getId()}", - ['pdf' => $this->pdfUpload()], + '/api/element/update', + [ + 'elementId' => (string) $element->getId(), + 'pdf' => $this->pdfUpload(), + ], ); $response->assertOk(); diff --git a/backend/tests/Unit/Controllers/ElementControllerTest.php b/backend/tests/Unit/Controllers/ElementControllerTest.php index 7b27333..cdf1b4f 100644 --- a/backend/tests/Unit/Controllers/ElementControllerTest.php +++ b/backend/tests/Unit/Controllers/ElementControllerTest.php @@ -169,7 +169,9 @@ class ElementControllerTest extends TestCase null, ); $fixturePath = __DIR__ . '/../../fixtures/icon.png'; - $request = new Request([], [], [], [], [ + $request = new Request([], [ + 'elementId' => (string) $element->getId(), + ], [], [], [ 'iconImage' => new UploadedFile( $fixturePath, 'icon.png', @@ -179,10 +181,7 @@ class ElementControllerTest extends TestCase ), ]); - $response = $this->controller->update( - $element->getId(), - $request, - ); + $response = $this->controller->update($request); $this->assertEquals(200, $response->getStatusCode()); $body = json_decode($response->getContent(), true); @@ -211,7 +210,9 @@ class ElementControllerTest extends TestCase null, ); $fixturePath = __DIR__ . '/../../fixtures/baderech.pdf'; - $request = new Request([], [], [], [], [ + $request = new Request([], [ + 'elementId' => (string) $element->getId(), + ], [], [], [ 'pdf' => new UploadedFile( $fixturePath, 'baderech.pdf', @@ -221,10 +222,7 @@ class ElementControllerTest extends TestCase ), ]); - $response = $this->controller->update( - $element->getId(), - $request, - ); + $response = $this->controller->update($request); $this->assertEquals(200, $response->getStatusCode()); $body = json_decode($response->getContent(), true); diff --git a/frontend/rabbi_gerzi/cypress/e2e/admin-element.cy.ts b/frontend/rabbi_gerzi/cypress/e2e/admin-element.cy.ts index 84ac632..35b5745 100644 --- a/frontend/rabbi_gerzi/cypress/e2e/admin-element.cy.ts +++ b/frontend/rabbi_gerzi/cypress/e2e/admin-element.cy.ts @@ -111,7 +111,7 @@ describe('admin element editing', () => { cy.resetDb() loginAsAdmin() cy.visit('/admin/element/1') - cy.intercept('POST', /\/api\/elements\/1$/).as('updateElement') + cy.intercept('POST', /\/api\/element\/update$/).as('updateElement') cy.get('[data-cy="admin-element-icon-image-input"]').selectFile( 'public/assets/baderech-haavodah-icon.png',