create(); Sanctum::actingAs($user); $response = $this->getJson('/api/v1/system/school-ids/student'); $response->assertOk(); $response->assertJson(['ok' => true]); $response->assertJsonPath('result.type', 'student'); $this->assertNotEmpty($response->json('result.school_id')); } public function test_generate_user_returns_id(): void { $user = User::factory()->create(); Sanctum::actingAs($user); $response = $this->getJson('/api/v1/system/school-ids/user'); $response->assertOk(); $response->assertJson(['ok' => true]); $response->assertJsonPath('result.type', 'user'); $this->assertNotEmpty($response->json('result.school_id')); } public function test_assign_sets_user_school_id(): void { $user = User::factory()->create(); Sanctum::actingAs($user); $target = User::factory()->create([ 'school_id' => null, ]); $response = $this->postJson('/api/v1/system/school-ids/assign', [ 'user_id' => $target->id, ]); $response->assertOk(); $response->assertJson(['ok' => true]); $this->assertNotEmpty($response->json('result.school_id')); $this->assertSame( $response->json('result.school_id'), User::query()->findOrFail($target->id)->school_id ); } }