make(); $response = $this->actingAs($user) ->get('/admin/likes'); $response->assertSeeText('Likes'); } /** @test */ public function likeCreateFormLoads(): void { $user = User::factory()->make(); $response = $this->actingAs($user) ->get('/admin/likes/create'); $response->assertSeeText('New Like'); } /** @test */ public function adminCanCreateLike(): void { Queue::fake(); $user = User::factory()->make(); $this->actingAs($user) ->post('/admin/likes', [ 'like_url' => 'https://example.com' ]); $this->assertDatabaseHas('likes', [ 'url' => 'https://example.com' ]); Queue::assertPushed(ProcessLike::class); } /** @test */ public function likeEditFormLoads(): void { $user = User::factory()->make(); $response = $this->actingAs($user) ->get('/admin/likes/1/edit'); $response->assertSee('Edit Like'); } /** @test */ public function adminCanEditLike(): void { Queue::fake(); $user = User::factory()->make(); $this->actingAs($user) ->post('/admin/likes/1', [ '_method' => 'PUT', 'like_url' => 'https://example.com', ]); $this->assertDatabaseHas('likes', [ 'url' => 'https://example.com', ]); Queue::assertPushed(ProcessLike::class); } /** @test */ public function adminCanDeleteLike(): void { $like = Like::find(1); $url = $like->url; $user = User::factory()->make(); $this->actingAs($user) ->post('/admin/likes/1', [ '_method' => 'DELETE', ]); $this->assertDatabaseMissing('likes', [ 'url' => $url, ]); } }