ApiVerifyDiscordTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace Tests\Feature;
  3. use App\Models\DiscordUser;
  4. use App\Models\User;
  5. use Illuminate\Foundation\Testing\RefreshDatabase;
  6. use Tests\TestCase;
  7. class ApiVerifyDiscordTest extends TestCase
  8. {
  9. use RefreshDatabase;
  10. /**
  11. * A basic feature test example.
  12. *
  13. * @return void
  14. */
  15. public function test_verify_without_params()
  16. {
  17. $this->postJson('/api/verify')->assertStatus(422);
  18. }
  19. public function test_verify_with_invalid_user_id()
  20. {
  21. $this->postJson('/api/verify', [
  22. 'user_id' => rand(10000000, 100000000)
  23. ])->assertStatus(422)->assertJsonValidationErrors('user_id');
  24. }
  25. public function test_verify_with_valid_discord_user_id_but_with_invalid_user_id()
  26. {
  27. $discordUser = DiscordUser::factory()->create([
  28. 'user_id' => 9999999999999
  29. ]);
  30. $this->postJson('/api/verify', [
  31. 'user_id' => $discordUser->id
  32. ])->assertStatus(422)->assertJsonValidationErrors('user_id');
  33. }
  34. public function test_verify_with_valid_discord_user_id_with_valid_user_id()
  35. {
  36. $discordUser = DiscordUser::factory()->create();
  37. $this->postJson('/api/verify', [
  38. 'user_id' => $discordUser->id
  39. ])->assertStatus(200);
  40. $this->assertEquals((250 + 375), User::find($discordUser->user->id)->credits);
  41. $this->assertEquals(3, User::find($discordUser->user->id)->server_limit);
  42. }
  43. public function test_verify_second_time_should_not_work()
  44. {
  45. $discordUser = DiscordUser::factory()->create();
  46. $this->postJson('/api/verify', [
  47. 'user_id' => $discordUser->id
  48. ])->assertStatus(200);
  49. $this->postJson('/api/verify', [
  50. 'user_id' => $discordUser->id
  51. ])->assertStatus(422)->assertJsonValidationErrors('user_id');
  52. $this->assertEquals((250 + 375), User::find($discordUser->user->id)->credits);
  53. $this->assertEquals(3, User::find($discordUser->user->id)->server_limit);
  54. }
  55. }