1
0
mirror of https://github.com/Kovah/LinkAce.git synced 2025-03-20 06:39:38 +01:00

Adjust tests and order validation in controllers

This commit is contained in:
Kovah 2022-07-13 23:50:57 +02:00
parent e461d3c2c2
commit 836ca153b8
No known key found for this signature in database
GPG Key ID: AAAA031BA9830D7B
7 changed files with 32 additions and 28 deletions

View File

@ -16,20 +16,9 @@ class LinkController extends Controller
{
use ChecksOrdering;
protected array $allowedOrders = [
'url',
'title',
'description',
'visibility',
'status',
'check_disabled',
'created_at',
'updated_at',
];
public function __construct()
{
$this->allowedOrders = Link::$allowOrderBy;
$this->allowedOrderBy = Link::$allowOrderBy;
$this->authorizeResource(Link::class, 'link');
}

View File

@ -28,6 +28,7 @@ class FetchController extends Controller
}
$tags = Tag::query()
->visibleForUser()
->where('name', 'like', '%' . escapeSearchQuery($query) . '%')
->oldest('name')
->get();
@ -58,6 +59,7 @@ class FetchController extends Controller
}
$tags = LinkList::query()
->visibleForUser()
->where('name', 'like', '%' . escapeSearchQuery($query) . '%')
->oldest('name')
->get();
@ -89,6 +91,7 @@ class FetchController extends Controller
}
$link = Link::query()
->visibleForUser()
->where('url', trim($query))
->where('id', '!=', $request->input('ignore_id', 0))
->first();

View File

@ -19,14 +19,9 @@ class LinkController extends Controller
{
use ChecksOrdering;
protected array $allowedOrders = [
'created_at',
'url',
'title',
];
public function __construct()
{
$this->allowedOrderBy = Link::$allowOrderBy;
$this->authorizeResource(Link::class, 'link');
}
@ -94,7 +89,7 @@ class LinkController extends Controller
foreach ($duplicates as $duplicateLink) {
$msg .= sprintf(
' <a href="%s">%s</a>,',
route('links.show', [$duplicateLink->id]),
route('links.show', ['link' => $duplicateLink]),
$duplicateLink->shortUrl()
);
}

View File

@ -17,14 +17,9 @@ class ListController extends Controller
{
use ChecksOrdering;
protected array $allowedOrders = [
'created_at',
'name',
'links_count',
];
public function __construct()
{
$this->allowedOrderBy = LinkList::$allowOrderBy;
$this->authorizeResource(LinkList::class, 'list');
}

View File

@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Controllers\Traits\ChecksOrdering;
use App\Http\Requests\Models\TagStoreRequest;
use App\Http\Requests\Models\TagUpdateRequest;
use App\Models\Link;
use App\Models\Tag;
use App\Repositories\TagRepository;
use Exception;
@ -97,7 +98,7 @@ class TagController extends Controller
*/
public function show(Request $request, Tag $tag): View
{
$this->allowedOrderBy = Tag::$allowOrderBy;
$this->allowedOrderBy = Link::$allowOrderBy;
$this->orderBy = $request->input('orderBy', 'created_at');
$this->orderDir = $request->input('orderDir', 'desc');

View File

@ -7,7 +7,6 @@ use App\Audits\Modifiers\LinkStatusModifier;
use App\Audits\Modifiers\ListRelationModifier;
use App\Audits\Modifiers\TagRelationModifier;
use App\Audits\Modifiers\VisibilityModifier;
use App\Enums\ModelAttribute;
use App\Jobs\SaveLinkToWaybackmachine;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;

View File

@ -32,7 +32,7 @@ class LinkControllerTest extends TestCase
'</head></html>';
Http::fake([
'example.com' => Http::response($testHtml),
'*' => Http::response($testHtml),
]);
Queue::fake();
@ -109,6 +109,28 @@ class LinkControllerTest extends TestCase
$flashMessages->contains('message', trans('link.duplicates_found'));
}
public function testStoreRequestWithExistingPrivateLink(): void
{
Link::factory()->create(['url' => 'https://existing-private-link.com', 'user_id' => 2, 'visibility' => 3]);
$this->post('links', [
'url' => 'https://existing-private-link.com',
'visibility' => 1,
])->assertRedirect('links/2');
$this->assertDatabaseHas('links', [
'url' => 'https://existing-private-link.com',
'user_id' => 2,
'visibility' => 3,
]);
$this->assertDatabaseHas('links', [
'url' => 'https://existing-private-link.com',
'user_id' => 1,
'visibility' => 1,
]);
}
public function testStoreRequestWithBrokenUrl(): void
{
Http::fake([