createContestParameter(); $response = $this->getJson('/api/contest-parameters'); $response->assertStatus(200) ->assertJsonFragment(['id' => $item->id]); } public function test_show_returns_contest_parameter(): void { $item = $this->createContestParameter(); $response = $this->getJson("/api/contest-parameters/{$item->id}"); $response->assertStatus(200) ->assertJsonFragment(['id' => $item->id]); } public function test_admin_can_create_update_and_delete_contest_parameter(): void { $this->actingAsAdmin(); $contest = $this->createContest(); $createResponse = $this->postJson('/api/contest-parameters', [ 'contest_id' => $contest->id, 'log_type' => 'STANDARD', 'ignore_slash_part' => true, 'ignore_third_part' => true, 'letters_in_rst' => true, 'discard_qso_rec_diff_call' => true, 'discard_qso_sent_diff_call' => false, 'discard_qso_rec_diff_rst' => true, 'discard_qso_sent_diff_rst' => false, 'discard_qso_rec_diff_code' => true, 'discard_qso_sent_diff_code' => false, 'unique_qso' => true, 'time_tolerance' => 600, ]); $createResponse->assertStatus(201); $itemId = $createResponse->json('id'); $updateResponse = $this->putJson("/api/contest-parameters/{$itemId}", [ 'contest_id' => $contest->id, 'log_type' => 'CHECK', 'ignore_slash_part' => false, 'ignore_third_part' => true, 'letters_in_rst' => false, 'discard_qso_rec_diff_call' => true, 'discard_qso_sent_diff_call' => false, 'discard_qso_rec_diff_rst' => true, 'discard_qso_sent_diff_rst' => false, 'discard_qso_rec_diff_code' => true, 'discard_qso_sent_diff_code' => false, 'unique_qso' => false, 'time_tolerance' => 300, ]); $updateResponse->assertStatus(200) ->assertJsonFragment(['id' => $itemId]); $this->deleteJson("/api/contest-parameters/{$itemId}") ->assertStatus(204); } public function test_non_admin_cannot_create_contest_parameter(): void { $this->actingAsUser(); $contest = $this->createContest(); $this->postJson('/api/contest-parameters', [ 'contest_id' => $contest->id, 'log_type' => 'STANDARD', 'ignore_slash_part' => true, 'ignore_third_part' => true, 'letters_in_rst' => true, 'discard_qso_rec_diff_call' => true, 'discard_qso_sent_diff_call' => false, 'discard_qso_rec_diff_rst' => true, 'discard_qso_sent_diff_rst' => false, 'discard_qso_rec_diff_code' => true, 'discard_qso_sent_diff_code' => false, 'unique_qso' => true, 'time_tolerance' => 600, ])->assertStatus(403); } }