- EditPost 保存时合并表单中的部分 meta 键,防止插件注入字段覆盖 unlocked_user_ids 等其他键(单篇解锁用户会失去权限的 bug) - unlockPost:已有阅读权限(会员/作者/已解锁)直接跳文章,不重复支付 - subscribe:已有该套餐有效订阅直接跳我的订阅页 - uninstall:存在已启用的依赖者时拒绝卸载(与 disable 一致) - .gitignore 排除 storage/media-library/temp 测试残留 - 测试:AdminPagesTest 补 /admin/plugins /admin/payments;新增 Livewire 保存验证 meta 保留、解锁/订阅防重复支付、卸载守卫
64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\TestCase;
|
|
|
|
class AdminPagesTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
private User $admin;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->seed();
|
|
|
|
$this->admin = User::query()->firstOrCreate(
|
|
['email' => 'admin@laralog.test'],
|
|
['name' => '管理员', 'password' => bcrypt('password')]
|
|
);
|
|
}
|
|
|
|
public function test_dashboard_loads(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin')->assertOk();
|
|
}
|
|
|
|
public function test_post_resource_loads(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin/posts')->assertOk();
|
|
$this->actingAs($this->admin)->get('/admin/posts/create')->assertOk();
|
|
}
|
|
|
|
public function test_settings_page_loads(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin/blog-settings')->assertOk();
|
|
}
|
|
|
|
public function test_comment_resource_loads(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin/comments')->assertOk();
|
|
}
|
|
|
|
public function test_media_resource_loads(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin/media')->assertOk();
|
|
}
|
|
|
|
public function test_plugin_and_payment_pages_load(): void
|
|
{
|
|
$this->actingAs($this->admin)->get('/admin/plugins')->assertOk();
|
|
$this->actingAs($this->admin)->get('/admin/payments')->assertOk();
|
|
}
|
|
|
|
public function test_guest_is_redirected_to_login(): void
|
|
{
|
|
$this->get('/admin')->assertRedirect('/admin/login');
|
|
}
|
|
}
|