mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
194 lines
4.7 KiB
PHP
194 lines
4.7 KiB
PHP
<?php
|
|
namespace Tests\Domain\Languages;
|
|
|
|
use Tests\TestCase;
|
|
use App\Users\Models\User;
|
|
use Domain\Settings\Models\Setting;
|
|
use Domain\Localization\Models\Language;
|
|
use Domain\Localization\Actions\SeedDefaultLanguageAction;
|
|
|
|
class AdminLanguageTranslatorTest extends TestCase
|
|
{
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_create_language()
|
|
{
|
|
Setting::create([
|
|
'name' => 'license',
|
|
'value' => 'Extended',
|
|
]);
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->postJson('/api/admin/languages', [
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'sk',
|
|
])
|
|
->assertStatus(201)
|
|
->assertJsonFragment([
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'sk',
|
|
]);
|
|
|
|
$this->assertDatabaseHas('languages', [
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'sk',
|
|
]);
|
|
|
|
$this->assertDatabaseHas('language_translations', [
|
|
'key' => 'actions.close',
|
|
'value' => 'Close',
|
|
'lang' => 'sk',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_update_language()
|
|
{
|
|
resolve(SeedDefaultLanguageAction::class)();
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$language = Language::first();
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->patchJson("/api/admin/languages/$language->id", [
|
|
'name' => 'name',
|
|
'value' => 'Slovenčina',
|
|
])
|
|
->assertStatus(201)
|
|
->assertJsonFragment([
|
|
'name' => 'Slovenčina',
|
|
]);
|
|
|
|
$this->assertDatabaseHas('languages', [
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'en',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_delete_language()
|
|
{
|
|
$language = Language::create([
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'sk',
|
|
]);
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->deleteJson("/api/admin/languages/$language->id")
|
|
->assertStatus(204);
|
|
|
|
$this->assertDatabaseMissing('languages', [
|
|
'name' => 'Slovenčina',
|
|
'locale' => 'sk',
|
|
]);
|
|
|
|
$this->assertDatabaseMissing('language_translations', [
|
|
'key' => 'actions.close',
|
|
'value' => 'Close',
|
|
'lang' => 'sk',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_try_to_delete_default_language()
|
|
{
|
|
resolve(SeedDefaultLanguageAction::class)();
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$language = Language::first();
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->deleteJson("/api/admin/languages/$language->id")
|
|
->assertStatus(401);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_get_all_languages()
|
|
{
|
|
resolve(SeedDefaultLanguageAction::class)();
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->getJson('/api/admin/languages')
|
|
->assertStatus(200)
|
|
->assertJsonFragment([
|
|
'locale' => 'en',
|
|
'actions.close' => 'Close',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_update_language_string()
|
|
{
|
|
resolve(SeedDefaultLanguageAction::class)();
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$language = Language::first();
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->patchJson("/api/admin/languages/$language->id/strings", [
|
|
'name' => 'actions.close',
|
|
'value' => 'Close It, now!',
|
|
]);
|
|
|
|
$this->assertDatabaseHas('language_translations', [
|
|
'key' => 'actions.close',
|
|
'value' => 'Close It, now!',
|
|
'lang' => 'en',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function it_get_language_with_strings_by_selected_language_id()
|
|
{
|
|
resolve(SeedDefaultLanguageAction::class)();
|
|
|
|
$admin = User::factory(User::class)
|
|
->create(['role' => 'admin']);
|
|
|
|
$language = Language::first();
|
|
|
|
$this
|
|
->actingAs($admin)
|
|
->getJson("/api/admin/languages/$language->id")
|
|
->assertStatus(200)
|
|
->assertJsonFragment([
|
|
'actions.close' => 'Close',
|
|
'locale' => 'en',
|
|
]);
|
|
}
|
|
}
|