create(); $package = Package::query()->create([ 'type' => 'plugin', 'slug' => 'HelloStore', 'name' => 'Hello Store', 'summary' => '', 'description' => '', 'author' => '', 'homepage' => '', 'icon_url' => '', 'license' => '', 'status' => 'published', 'is_featured' => false, 'sort_order' => 0, 'download_count' => 0, 'latest_version' => '', ]); $this->actingAs($user) ->put('/admin/packages/plugin/HelloStore', [ 'type' => 'plugin', 'slug' => 'HelloStore', 'name' => 'Hello Store', 'status' => 'published', 'categories_text' => 'SEO performance_cache', ]) ->assertRedirect('/admin/packages/plugin/HelloStore') ->assertSessionHas('success', '扩展已更新'); $package->refresh()->load('categories'); $this->assertSame(['performance-cache', 'seo'], $package->categories->pluck('slug')->sort()->values()->all()); $this->assertDatabaseHas('store_categories', [ 'type' => 'plugin', 'slug' => 'seo', 'name' => 'Seo', ]); $this->assertDatabaseHas('store_categories', [ 'type' => 'plugin', 'slug' => 'performance-cache', 'name' => 'Performance Cache', ]); } public function test_admin_can_update_package_categories_with_chinese_names(): void { $user = User::factory()->create(); $package = Package::query()->create([ 'type' => 'plugin', 'slug' => 'HelloWorld', 'name' => 'Hello World', 'summary' => '', 'description' => '', 'author' => '', 'homepage' => '', 'icon_url' => '', 'license' => '', 'status' => 'published', 'is_featured' => false, 'sort_order' => 0, 'download_count' => 0, 'latest_version' => '', ]); $this->actingAs($user) ->put('/admin/packages/plugin/HelloWorld', [ 'type' => 'plugin', 'slug' => 'HelloWorld', 'name' => 'Hello World', 'status' => 'published', 'categories_text' => '性能优化, 内容增强', ]) ->assertRedirect('/admin/packages/plugin/HelloWorld') ->assertSessionHas('success', '扩展已更新'); $package->refresh()->load('categories'); $this->assertSame(['内容增强', '性能优化'], $package->categories->pluck('name')->sort()->values()->all()); $this->assertDatabaseHas('store_categories', [ 'type' => 'plugin', 'slug' => '性能优化', 'name' => '性能优化', ]); $this->assertDatabaseHas('store_categories', [ 'type' => 'plugin', 'slug' => '内容增强', 'name' => '内容增强', ]); } }