standard colours
This commit is contained in:
@@ -63,7 +63,7 @@ trait BuildsHelpdeskFixtures
|
||||
return $this->ticketStatus(array_merge([
|
||||
'name' => 'Closed',
|
||||
'slug' => fake()->unique()->slug(2),
|
||||
'color' => 'emerald',
|
||||
'color' => 'green',
|
||||
'sort_order' => 99,
|
||||
'is_closed' => true,
|
||||
], $attributes));
|
||||
@@ -165,7 +165,7 @@ trait BuildsHelpdeskFixtures
|
||||
['slug' => 'closed'],
|
||||
[
|
||||
'name' => 'Closed',
|
||||
'color' => 'emerald',
|
||||
'color' => 'green',
|
||||
'sort_order' => 99,
|
||||
'is_closed' => true,
|
||||
],
|
||||
|
||||
@@ -97,7 +97,7 @@ final class SettingsCrudTest extends TestCase
|
||||
->set('projectForm.team_id', $fixtures['team']->id)
|
||||
->set('projectForm.title', 'Customer Portal')
|
||||
->set('projectForm.slug', 'customer-portal')
|
||||
->set('projectForm.color', 'cyan')
|
||||
->set('projectForm.color', 'blue')
|
||||
->call('saveProject')
|
||||
->assertHasNoErrors();
|
||||
$project = Project::query()->where('slug', 'customer-portal')->firstOrFail();
|
||||
@@ -223,7 +223,7 @@ final class SettingsCrudTest extends TestCase
|
||||
Livewire::test(SettingsManager::class)
|
||||
->set('tagForm.name', 'VIP')
|
||||
->set('tagForm.slug', 'vip')
|
||||
->set('tagForm.color', 'pink')
|
||||
->set('tagForm.color', 'purple')
|
||||
->call('saveTag')
|
||||
->assertHasNoErrors();
|
||||
$tag = Tag::query()->where('slug', 'vip')->firstOrFail();
|
||||
@@ -248,4 +248,22 @@ final class SettingsCrudTest extends TestCase
|
||||
->assertHasNoErrors();
|
||||
$this->assertDatabaseHas('helpdesk_products', ['id' => $product->id, 'version' => '1.1']);
|
||||
}
|
||||
|
||||
|
||||
public function test_helpdesk_colour_selectors_are_dropdowns_and_reject_unknown_values(): void
|
||||
{
|
||||
$this->seedLookupData();
|
||||
$admin = $this->admin(['name' => 'Colour Settings Admin']);
|
||||
$this->actingAs($admin);
|
||||
|
||||
Livewire::test(SettingsManager::class)
|
||||
->assertSee('● Red — #dc2626')
|
||||
->assertSee('● Green — #16a34a')
|
||||
->set('statusForm.name', 'Invalid Colour')
|
||||
->set('statusForm.slug', 'invalid-colour')
|
||||
->set('statusForm.color', 'brown')
|
||||
->set('statusForm.sort_order', 99)
|
||||
->call('saveStatus')
|
||||
->assertHasErrors(['statusForm.color']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Helpdesk\Tests\Unit;
|
||||
|
||||
use Modules\Helpdesk\Support\Color;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class ColorPaletteTest extends TestCase
|
||||
{
|
||||
public function test_standard_palette_uses_clear_enterprise_colours(): void
|
||||
{
|
||||
self::assertSame('#dc2626', Color::css('red'));
|
||||
self::assertSame('#16a34a', Color::css('green'));
|
||||
self::assertSame('#2563eb', Color::css('blue'));
|
||||
self::assertSame('#6b7280', Color::css('gray'));
|
||||
}
|
||||
|
||||
public function test_legacy_colour_names_are_normalised(): void
|
||||
{
|
||||
self::assertSame('red', Color::normalise('rose'));
|
||||
self::assertSame('green', Color::normalise('emerald'));
|
||||
self::assertSame('blue', Color::normalise('cyan'));
|
||||
self::assertSame('gray', Color::normalise('zinc'));
|
||||
}
|
||||
|
||||
public function test_hex_values_can_still_be_resolved_for_display(): void
|
||||
{
|
||||
self::assertSame('#ffffff', Color::css('#ffffff'));
|
||||
self::assertSame('#000000', Color::css('#000000'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user