splitted user name

This commit is contained in:
Čarodej
2022-01-14 11:17:00 +01:00
parent 7e9e9ee25b
commit 7dd116a769
45 changed files with 272 additions and 95 deletions
+6 -1
View File
@@ -10,7 +10,12 @@ return [
'chunk_size' => env('CHUNK_SIZE', '128'), 'chunk_size' => env('CHUNK_SIZE', '128'),
'colors' => [ 'colors' => [
'#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2', '#9ad2bf',
'#9ad2cd',
'#d29a9a',
'#d2ce9a',
'#9aadd2',
'#c59ad2',
], ],
'avatar_sizes' => [ 'avatar_sizes' => [
+1 -28
View File
@@ -31,34 +31,7 @@ class UserFactory extends Factory
'email_verified_at' => now(), 'email_verified_at' => now(),
'password' => bcrypt('secret'), 'password' => bcrypt('secret'),
'remember_token' => Str::random(10), 'remember_token' => Str::random(10),
'created_at' => $this->faker->dateTimeBetween('-36 months', 'now', null), 'created_at' => $this->faker->dateTimeBetween('-36 months'),
]; ];
} }
/**
* Configure the model factory.
*
* @return $this
*/
public function configure()
{
return $this->afterCreating(function (User $user) {
$user
->settings()
->create([
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'country' => $this->faker->randomElement(
['SK', 'CZ', 'DE', 'FR']
),
'phone_number' => $this->faker->phoneNumber,
'timezone' => $this->faker->randomElement(
['+1.0', '+2.0', '+3.0']
),
]);
});
}
} }
+45
View File
@@ -0,0 +1,45 @@
<?php
namespace Database\Factories;
use App\Users\Models\UserSetting;
use Illuminate\Database\Eloquent\Factories\Factory;
class UserSettingFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = UserSetting::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'first_name' => $this->faker->name,
'last_name' => $this->faker->lastName,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'phone_number' => $this->faker->phoneNumber,
'color' => $this->faker->randomElement(
config('vuefilemanager.colors')
),
'country' => $this->faker->randomElement(
['SK', 'CZ', 'DE', 'FR']
),
'timezone' => $this->faker->randomElement(
['+1.0', '+2.0', '+3.0']
),
];
}
}
@@ -18,7 +18,8 @@ class CreateUsersTable extends Migration
$table->enum('role', ['admin', 'user'])->default('user'); $table->enum('role', ['admin', 'user'])->default('user');
$table->string('email')->unique()->index(); $table->string('email')->unique()->index();
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('password'); $table->string('oauth_provider')->nullable();
$table->string('password')->nullable();
$table->text('two_factor_secret')->nullable(); $table->text('two_factor_secret')->nullable();
$table->text('two_factor_recovery_codes')->nullable(); $table->text('two_factor_recovery_codes')->nullable();
$table->rememberToken(); $table->rememberToken();
@@ -18,7 +18,8 @@ class CreateUserSettingsTable extends Migration
$table->uuid('user_id')->index(); $table->uuid('user_id')->index();
$table->string('avatar')->nullable(); $table->string('avatar')->nullable();
$table->string('color')->nullable(); $table->string('color')->nullable();
$table->text('name')->nullable(); $table->text('first_name')->nullable();
$table->text('last_name')->nullable();
$table->text('address')->nullable(); $table->text('address')->nullable();
$table->text('state')->nullable(); $table->text('state')->nullable();
$table->text('city')->nullable(); $table->text('city')->nullable();
@@ -1,36 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddOauthProviderToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('oauth_provider')->nullable();
$table->string('password')->nullable()->change();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
});
}
}
@@ -45,7 +45,6 @@ class GenerateDemoSubscriptionContentCommand extends Command
// Create plans and subscriptions for fixed billing // Create plans and subscriptions for fixed billing
if ($this->argument('type') === 'fixed') { if ($this->argument('type') === 'fixed') {
// TODO: check for credentials // TODO: check for credentials
$this->info('Setting up new fixed plans demo data...'); $this->info('Setting up new fixed plans demo data...');
@@ -104,7 +104,8 @@ class SetupDevEnvironment extends Command
->settings() ->settings()
->create([ ->create([
'avatar' => $avatar_name, 'avatar' => $avatar_name,
'name' => 'Jane Doe', 'first_name' => 'Jane',
'last_name' => 'Doe',
'address' => $this->faker->address, 'address' => $this->faker->address,
'state' => $this->faker->state, 'state' => $this->faker->state,
'city' => $this->faker->city, 'city' => $this->faker->city,
@@ -162,7 +163,8 @@ class SetupDevEnvironment extends Command
->settings() ->settings()
->create([ ->create([
'avatar' => $avatar_name, 'avatar' => $avatar_name,
'name' => $this->faker->name, 'first_name' => $this->faker->name,
'last_name' => $this->faker->lastName,
'address' => $this->faker->address, 'address' => $this->faker->address,
'state' => $this->faker->state, 'state' => $this->faker->state,
'city' => $this->faker->city, 'city' => $this->faker->city,
@@ -31,9 +31,14 @@ class CreateNewUserAction extends Controller
'email' => $data->email, 'email' => $data->email,
]); ]);
// Split username
$name = split_name($data->name);
// Store user data
$user->settings()->create([ $user->settings()->create([
'name' => $data->name, 'first_name' => $name['first_name'],
'avatar' => $data->avatar, 'last_name' => $name['last_name'],
'avatar' => $data->avatar,
]); ]);
// Subscribe user for metered billing // Subscribe user for metered billing
@@ -22,7 +22,7 @@ class CheckAccountController extends Controller
} }
return [ return [
'name' => $user->settings->name, 'name' => $user->settings->first_name,
'avatar' => $user->settings->avatar, 'avatar' => $user->settings->avatar,
'verified' => $user->email_verified_at ? 1 : 0, 'verified' => $user->email_verified_at ? 1 : 0,
'oauth_provider' => $user->password ? null : $user->oauth_provider, 'oauth_provider' => $user->password ? null : $user->oauth_provider,
+17 -4
View File
@@ -6,6 +6,7 @@ use Laravel\Scout\Searchable;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use TeamTNT\TNTSearch\Indexer\TNTIndexer; use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use Database\Factories\UserSettingFactory;
use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\HasOne;
class UserSetting extends Model class UserSetting extends Model
@@ -24,12 +25,19 @@ class UserSetting extends Model
'id' => 'string', 'id' => 'string',
]; ];
protected $appends = [
'name',
];
protected static function newFactory(): UserSettingFactory
{
return UserSettingFactory::new();
}
/** /**
* Format avatar to full url * Format avatar to full url
*
* @return \Illuminate\Contracts\Routing\UrlGenerator|string|array
*/ */
public function getAvatarAttribute() public function getAvatarAttribute(): array|string
{ {
$link = []; $link = [];
@@ -61,6 +69,11 @@ class UserSetting extends Model
return $link; return $link;
} }
public function getNameAttribute(): string
{
return $this->first_name . ' ' . $this->last_name;
}
public function user(): HasOne public function user(): HasOne
{ {
return $this->hasOne(User::class, 'id', 'user_id'); return $this->hasOne(User::class, 'id', 'user_id');
@@ -94,7 +107,7 @@ class UserSetting extends Model
static::creating(function ($user) { static::creating(function ($user) {
$user->id = Str::uuid(); $user->id = Str::uuid();
$user->color = ['#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2'][rand(0, 5)]; $user->color = config('vuefilemanager.colors')[rand(0, 5)];
}); });
} }
} }
@@ -1,4 +1,5 @@
<?php <?php
namespace App\Users\Resources; namespace App\Users\Resources;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
@@ -20,6 +21,8 @@ class SettingsResource extends JsonResource
'attributes' => [ 'attributes' => [
'avatar' => $this->avatar, 'avatar' => $this->avatar,
'name' => $this->name, 'name' => $this->name,
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'address' => $this->address, 'address' => $this->address,
'state' => $this->state, 'state' => $this->state,
'city' => $this->city, 'city' => $this->city,
+1 -1
View File
@@ -75,7 +75,7 @@ class UserResource extends JsonResource
$this->mergeWhen($isMeteredSubscription, fn () => [ $this->mergeWhen($isMeteredSubscription, fn () => [
'totalDebt' => [ 'totalDebt' => [
'formatted' => format_currency($this->failedPayments->sum('amount'), $this->subscription->plan->currency), 'formatted' => format_currency($this->failedPayments->sum('amount'), $this->subscription->plan->currency),
'amount' => $this->failedPayments->sum('amount'), 'amount' => $this->failedPayments->sum('amount'),
], ],
]), ]),
], ],
@@ -42,11 +42,15 @@ class UserController extends Controller
'email_verified_at' => now(), 'email_verified_at' => now(),
]); ]);
// Split username
$name = split_name($request->input('name'));
$user $user
->settings() ->settings()
->create([ ->create([
'avatar' => store_avatar($request, 'avatar'), 'avatar' => store_avatar($request, 'avatar'),
'name' => $request->input('name'), 'first_name' => $name['first_name'],
'last_name' => $name['last_name'],
]); ]);
return response(new UserResource($user), 201); return response(new UserResource($user), 201);
@@ -45,11 +45,15 @@ class CreateAdminAccountController extends Controller
'email_verified_at' => now(), 'email_verified_at' => now(),
]); ]);
// Split username
$name = split_name($request->input('name'));
$user $user
->settings() ->settings()
->create([ ->create([
'avatar' => store_avatar($request, 'avatar'), 'avatar' => store_avatar($request, 'avatar'),
'name' => $request->input('name'), 'first_name' => $name['first_name'],
'last_name' => $name['last_name'],
]); ]);
collect([ collect([
+15
View File
@@ -307,6 +307,21 @@ if (! function_exists('get_shared')) {
} }
} }
if (! function_exists('split_name')) {
/**
* Split name for 2 parts
*/
function split_name(string $name): array
{
$firstName = explode(' ', $name)[0];
return [
'first_name' => $firstName,
'last_name' => str_replace("$firstName ", '', $name),
];
}
}
if (! function_exists('is_editor')) { if (! function_exists('is_editor')) {
/** /**
* Check if shared permission is editor * Check if shared permission is editor
@@ -15,6 +15,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_upload() public function it_can_upload()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this->assertEquals(true, $user->canUpload(9999999)); $this->assertEquals(true, $user->canUpload(9999999));
@@ -26,6 +27,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_cant_upload_because_storage_limit_exceeded() public function it_cant_upload_because_storage_limit_exceeded()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
File::factory() File::factory()
@@ -43,6 +45,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_upload_because_storage_limitation_is_turned_off_and_user_has_unlimited_limit() public function it_can_upload_because_storage_limitation_is_turned_off_and_user_has_unlimited_limit()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
// Turn off storage limitation // Turn off storage limitation
@@ -68,6 +71,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_cant_upload_because_storage_limitation_is_turned_on_and_user_exceeded_limit() public function it_cant_upload_because_storage_limitation_is_turned_on_and_user_exceeded_limit()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
// Turn on storage limitation // Turn on storage limitation
@@ -93,6 +97,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_create_new_folder() public function it_can_create_new_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -113,6 +118,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_get_private_file() public function it_can_get_private_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -135,6 +141,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_get_shared_file() public function it_can_get_shared_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -163,6 +170,7 @@ class DefaultRestrictionsTest extends TestCase
public function it_can_get_share_page() public function it_can_get_share_page()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$share = Share::factory() $share = Share::factory()
@@ -27,6 +27,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_can_upload() public function it_can_upload()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this->assertEquals(true, $user->canUpload(9999999)); $this->assertEquals(true, $user->canUpload(9999999));
@@ -38,6 +39,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_cant_upload_because_storage_limit_exceeded() public function it_cant_upload_because_storage_limit_exceeded()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
File::factory() File::factory()
@@ -55,6 +57,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_can_create_new_folder() public function it_can_create_new_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -75,6 +78,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_cant_invite_team_members_into_team_folder_because_user_exceeded_members_limit() public function it_cant_invite_team_members_into_team_folder_because_user_exceeded_members_limit()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->hasFolders([ ->hasFolders([
'team_folder' => true, 'team_folder' => true,
]) ])
@@ -153,6 +157,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_can_get_private_file() public function it_can_get_private_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -175,6 +180,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_can_get_shared_file() public function it_can_get_shared_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -203,6 +209,7 @@ class FixedBillingRestrictionsTest extends TestCase
public function it_can_get_share_page() public function it_can_get_share_page()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$share = Share::factory() $share = Share::factory()
@@ -50,6 +50,7 @@ class MeteredBillingRestrictionsTest extends TestCase
public function it_can_create_new_folder() public function it_can_create_new_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
// Create basic folder // Create basic folder
@@ -141,6 +142,7 @@ class MeteredBillingRestrictionsTest extends TestCase
public function it_can_get_private_file() public function it_can_get_private_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -192,6 +194,7 @@ class MeteredBillingRestrictionsTest extends TestCase
public function it_can_get_shared_file() public function it_can_get_shared_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
+2 -1
View File
@@ -73,7 +73,8 @@ class SocialiteTest extends TestCase
'password' => null, 'password' => null,
]) ])
->assertDatabaseHas('user_settings', [ ->assertDatabaseHas('user_settings', [
'name' => 'Jane Doe', 'first_name' => 'Jane',
'last_name' => 'Doe',
]); ]);
$user = User::first(); $user = User::first();
@@ -14,6 +14,7 @@ class PersonalAccessTokenTest extends TestCase
public function it_create_user_token() public function it_create_user_token()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -35,6 +36,7 @@ class PersonalAccessTokenTest extends TestCase
public function it_revoke_user_token() public function it_revoke_user_token()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$user->createToken('token'); $user->createToken('token');
@@ -57,6 +59,7 @@ class PersonalAccessTokenTest extends TestCase
public function it_get_user_tokens() public function it_get_user_tokens()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$user->createToken('token'); $user->createToken('token');
@@ -82,6 +85,7 @@ class PersonalAccessTokenTest extends TestCase
public function it_use_user_token_in_public_api_request() public function it_use_user_token_in_public_api_request()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
+8 -3
View File
@@ -48,7 +48,8 @@ class SignFlowTest extends TestCase
'email_verified_at' => null, 'email_verified_at' => null,
]) ])
->assertDatabaseHas('user_settings', [ ->assertDatabaseHas('user_settings', [
'name' => 'John Doe', 'first_name' => 'John',
'last_name' => 'Doe',
]) ])
->assertDatabaseHas('user_limitations', [ ->assertDatabaseHas('user_limitations', [
'max_storage_amount' => 10, 'max_storage_amount' => 10,
@@ -118,7 +119,8 @@ class SignFlowTest extends TestCase
'amount' => 0, 'amount' => 0,
]) ])
->assertDatabaseHas('user_settings', [ ->assertDatabaseHas('user_settings', [
'name' => 'John Doe', 'first_name' => 'John',
'last_name' => 'Doe',
]); ]);
} }
@@ -189,7 +191,8 @@ class SignFlowTest extends TestCase
'driver' => 'system', 'driver' => 'system',
]) ])
->assertDatabaseHas('user_settings', [ ->assertDatabaseHas('user_settings', [
'name' => 'John Doe', 'first_name' => 'John',
'last_name' => 'Doe',
]); ]);
} }
@@ -241,6 +244,7 @@ class SignFlowTest extends TestCase
public function it_check_if_user_exist_and_return_name_with_avatar() public function it_check_if_user_exist_and_return_name_with_avatar()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['email' => 'john@doe.com']); ->create(['email' => 'john@doe.com']);
$this->postJson('/api/user/check', [ $this->postJson('/api/user/check', [
@@ -278,6 +282,7 @@ class SignFlowTest extends TestCase
public function it_logout_user() public function it_logout_user()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
+5
View File
@@ -18,6 +18,7 @@ class UserAccountTest extends TestCase
public function it_generate_and_store_user() public function it_generate_and_store_user()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['role' => 'user']); ->create(['role' => 'user']);
$this->assertDatabaseHas('users', [ $this->assertDatabaseHas('users', [
@@ -65,6 +66,7 @@ class UserAccountTest extends TestCase
public function it_change_user_password_in_profile_settings() public function it_change_user_password_in_profile_settings()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -84,6 +86,7 @@ class UserAccountTest extends TestCase
public function it_update_user_settings() public function it_update_user_settings()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -104,6 +107,7 @@ class UserAccountTest extends TestCase
public function it_update_user_avatar() public function it_update_user_avatar()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$avatar = UploadedFile::fake() $avatar = UploadedFile::fake()
@@ -128,6 +132,7 @@ class UserAccountTest extends TestCase
public function it_get_user_data() public function it_get_user_data()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
+20 -7
View File
@@ -20,21 +20,24 @@ class AdminTest extends TestCase
public function it_get_all_users() public function it_get_all_users()
{ {
$users = User::factory() $users = User::factory()
->hasSettings()
->count(5) ->count(5)
->create(['role' => 'user']); ->create(['role' => 'user']);
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
Sanctum::actingAs($admin); $users->each(
fn ($user) =>
$users->each(function ($user) { $this
$this->getJson('/api/admin/users?page=1') ->actingAs($admin)
->getJson('/api/admin/users?page=1')
->assertStatus(200) ->assertStatus(200)
->assertJsonFragment([ ->assertJsonFragment([
'id' => $user->id, 'id' => $user->id,
]); ])
}); );
} }
/** /**
@@ -43,9 +46,11 @@ class AdminTest extends TestCase
public function it_get_single_user() public function it_get_single_user()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['role' => 'user']); ->create(['role' => 'user']);
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
// TODO: pridat exactjson po refaktorovani userresource // TODO: pridat exactjson po refaktorovani userresource
@@ -64,6 +69,7 @@ class AdminTest extends TestCase
public function it_get_non_existed_user_subscription() public function it_get_non_existed_user_subscription()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$admin = User::factory() $admin = User::factory()
@@ -169,9 +175,11 @@ class AdminTest extends TestCase
public function it_change_user_storage_capacity() public function it_change_user_storage_capacity()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['role' => 'user']); ->create(['role' => 'user']);
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
$this $this
@@ -195,9 +203,11 @@ class AdminTest extends TestCase
public function it_change_user_role() public function it_change_user_role()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['role' => 'user']); ->create(['role' => 'user']);
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
$this $this
@@ -217,6 +227,7 @@ class AdminTest extends TestCase
public function it_create_new_user_with_avatar() public function it_create_new_user_with_avatar()
{ {
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
$avatar = UploadedFile::fake() $avatar = UploadedFile::fake()
@@ -242,7 +253,8 @@ class AdminTest extends TestCase
->get('email_verified_at')); ->get('email_verified_at'));
$this->assertDatabaseHas('user_settings', [ $this->assertDatabaseHas('user_settings', [
'name' => 'John Doe', 'first_name' => 'John',
'last_name' => 'Doe',
]); ]);
$avatar = User::whereEmail('john@doe.com')->first()->settings->getRawOriginal('avatar'); $avatar = User::whereEmail('john@doe.com')->first()->settings->getRawOriginal('avatar');
@@ -262,6 +274,7 @@ class AdminTest extends TestCase
{ {
// Create and login user // Create and login user
$user = User::factory() $user = User::factory()
->hasSettings()
->create(['role' => 'user']); ->create(['role' => 'user']);
Sanctum::actingAs($user); Sanctum::actingAs($user);
+2
View File
@@ -53,10 +53,12 @@ class DashboardTest extends TestCase
public function it_get_new_users_for_dashboard() public function it_get_new_users_for_dashboard()
{ {
$users = User::factory() $users = User::factory()
->hasSettings()
->count(3) ->count(3)
->create(['role' => 'user']); ->create(['role' => 'user']);
$admin = User::factory() $admin = User::factory()
->hasSettings()
->create(['role' => 'admin']); ->create(['role' => 'admin']);
$users->each( $users->each(
+5
View File
@@ -20,6 +20,7 @@ class BrowseTest extends TestCase
public function it_get_navigator_tree() public function it_get_navigator_tree()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder_level_1 = Folder::factory(Folder::class) $folder_level_1 = Folder::factory(Folder::class)
@@ -134,6 +135,7 @@ class BrowseTest extends TestCase
public function it_get_folder_content() public function it_get_folder_content()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -182,6 +184,7 @@ class BrowseTest extends TestCase
public function it_get_recent_files() public function it_get_recent_files()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -234,6 +237,7 @@ class BrowseTest extends TestCase
public function it_get_trash_root() public function it_get_trash_root()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -282,6 +286,7 @@ class BrowseTest extends TestCase
public function it_get_shared_items() public function it_get_shared_items()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
+2
View File
@@ -49,6 +49,7 @@ class ContentAccessTest extends TestCase
public function it_get_private_user_file() public function it_get_private_user_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = UploadedFile::fake() $file = UploadedFile::fake()
@@ -75,6 +76,7 @@ class ContentAccessTest extends TestCase
public function it_get_private_user_image_thumbnail() public function it_get_private_user_image_thumbnail()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$thumbnail = UploadedFile::fake() $thumbnail = UploadedFile::fake()
+8
View File
@@ -34,6 +34,7 @@ class FileTest extends TestCase
->image('fake-image.jpg', 2000, 2000); ->image('fake-image.jpg', 2000, 2000);
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -74,6 +75,7 @@ class FileTest extends TestCase
->create('fake-file.pdf', 12000000, 'application/pdf'); ->create('fake-file.pdf', 12000000, 'application/pdf');
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -107,6 +109,7 @@ class FileTest extends TestCase
->image('fake-file.jpeg', 1000); ->image('fake-file.jpeg', 1000);
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$user->limitations()->update([ $user->limitations()->update([
@@ -147,6 +150,7 @@ class FileTest extends TestCase
->create('fake-file.pdf', 1200, 'application/pdf'); ->create('fake-file.pdf', 1200, 'application/pdf');
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -167,6 +171,7 @@ class FileTest extends TestCase
public function it_rename_file() public function it_rename_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -196,6 +201,7 @@ class FileTest extends TestCase
public function it_move_file_to_another_folder() public function it_move_file_to_another_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -232,6 +238,7 @@ class FileTest extends TestCase
public function it_delete_multiple_files_softly() public function it_delete_multiple_files_softly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$files = File::factory() $files = File::factory()
@@ -271,6 +278,7 @@ class FileTest extends TestCase
public function it_delete_multiple_files_hardly() public function it_delete_multiple_files_hardly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
@@ -16,6 +16,7 @@ class FavouriteFolderTest extends TestCase
->create(); ->create();
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -41,6 +42,7 @@ class FavouriteFolderTest extends TestCase
->create(); ->create();
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$user $user
+9
View File
@@ -30,6 +30,7 @@ class FolderTest extends TestCase
public function it_create_new_folder() public function it_create_new_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -53,6 +54,7 @@ class FolderTest extends TestCase
public function it_rename_folder() public function it_rename_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -82,6 +84,7 @@ class FolderTest extends TestCase
public function it_set_folder_emoji() public function it_set_folder_emoji()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -120,6 +123,7 @@ class FolderTest extends TestCase
public function it_set_folder_color() public function it_set_folder_color()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -153,6 +157,7 @@ class FolderTest extends TestCase
public function it_move_folder_to_another_folder() public function it_move_folder_to_another_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -189,6 +194,7 @@ class FolderTest extends TestCase
public function it_delete_multiple_folder_softly() public function it_delete_multiple_folder_softly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder_1 = Folder::factory(Folder::class) $folder_1 = Folder::factory(Folder::class)
@@ -239,6 +245,7 @@ class FolderTest extends TestCase
public function it_delete_multiple_folder_hardly() public function it_delete_multiple_folder_hardly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder_1 = Folder::factory(Folder::class) $folder_1 = Folder::factory(Folder::class)
@@ -283,6 +290,7 @@ class FolderTest extends TestCase
public function it_delete_folder_with_their_content_within_softly() public function it_delete_folder_with_their_content_within_softly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder_root = Folder::factory(Folder::class) $folder_root = Folder::factory(Folder::class)
@@ -341,6 +349,7 @@ class FolderTest extends TestCase
public function it_delete_folder_with_their_content_within_hardly() public function it_delete_folder_with_their_content_within_hardly()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
+3
View File
@@ -51,6 +51,7 @@ class HomepageTest extends TestCase
public function it_get_og_page_for_folder() public function it_get_og_page_for_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -79,6 +80,7 @@ class HomepageTest extends TestCase
public function it_get_og_page_for_image() public function it_get_og_page_for_image()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -110,6 +112,7 @@ class HomepageTest extends TestCase
public function it_get_og_page_for_protected_file() public function it_get_og_page_for_protected_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
+3 -2
View File
@@ -227,8 +227,9 @@ class SetupWizardTest extends TestCase
]); ]);
$this->assertDatabaseHas('user_settings', [ $this->assertDatabaseHas('user_settings', [
'user_id' => User::first()->id, 'user_id' => User::first()->id,
'name' => 'John Doe', 'first_name' => 'John',
'last_name' => 'Doe',
]); ]);
$this->assertDatabaseMissing('user_settings', [ $this->assertDatabaseMissing('user_settings', [
+7
View File
@@ -17,6 +17,7 @@ class UserShareTest extends TestCase
public function it_share_single_file_without_password() public function it_share_single_file_without_password()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -50,6 +51,7 @@ class UserShareTest extends TestCase
public function it_share_folder_without_password() public function it_share_folder_without_password()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -83,6 +85,7 @@ class UserShareTest extends TestCase
public function it_share_folder_with_password() public function it_share_folder_with_password()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -122,6 +125,7 @@ class UserShareTest extends TestCase
public function it_share_folder_with_expiration_time() public function it_share_folder_with_expiration_time()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -149,6 +153,7 @@ class UserShareTest extends TestCase
public function it_share_folder_and_send_link_for_multiple_email() public function it_share_folder_and_send_link_for_multiple_email()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -176,6 +181,7 @@ class UserShareTest extends TestCase
public function it_send_existing_shared_folder_for_multiple_email_once_again() public function it_send_existing_shared_folder_for_multiple_email_once_again()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -206,6 +212,7 @@ class UserShareTest extends TestCase
public function it_revoke_single_share_record() public function it_revoke_single_share_record()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -67,6 +67,7 @@ class VisitorAccessToItemsTest extends TestCase
public function it_try_to_get_protected_file_record() public function it_try_to_get_protected_file_record()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$file = File::factory() $file = File::factory()
@@ -44,6 +44,7 @@ class VisitorBrowseTest extends TestCase
public function it_get_share_page() public function it_get_share_page()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$share = Share::factory() $share = Share::factory()
@@ -136,6 +137,7 @@ class VisitorBrowseTest extends TestCase
collect([true, false]) collect([true, false])
->each(function ($is_protected) { ->each(function ($is_protected) {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -20,6 +20,7 @@ class VisitorManipulatingTest extends TestCase
collect([true, false]) collect([true, false])
->each(function ($is_protected) { ->each(function ($is_protected) {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -89,6 +90,7 @@ class VisitorManipulatingTest extends TestCase
collect([true, false]) collect([true, false])
->each(function ($is_protected) { ->each(function ($is_protected) {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -158,6 +160,7 @@ class VisitorManipulatingTest extends TestCase
collect([true, false]) collect([true, false])
->each(function ($is_protected) { ->each(function ($is_protected) {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
+4
View File
@@ -15,6 +15,7 @@ class SearchTest extends TestCase
public function it_get_searched_file() public function it_get_searched_file()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$english = File::factory() $english = File::factory()
@@ -54,6 +55,7 @@ class SearchTest extends TestCase
public function it_get_searched_folder() public function it_get_searched_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -77,9 +79,11 @@ class SearchTest extends TestCase
public function it_get_searched_shared_with_me_file_and_folders() public function it_get_searched_shared_with_me_file_and_folders()
{ {
$owner = User::factory() $owner = User::factory()
->hasSettings()
->create(); ->create();
$member = User::factory() $member = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory() $folder = Folder::factory()
@@ -21,6 +21,7 @@ class TeamManagementTest extends TestCase
public function it_get_team_folder_invite() public function it_get_team_folder_invite()
{ {
[$inviter, $member] = User::factory() [$inviter, $member] = User::factory()
->hasSettings()
->count(2) ->count(2)
->create(); ->create();
@@ -134,6 +135,7 @@ class TeamManagementTest extends TestCase
public function it_invite_member_into_team_folder() public function it_invite_member_into_team_folder()
{ {
[$user, $member_1, $member_2] = User::factory() [$user, $member_1, $member_2] = User::factory()
->hasSettings()
->count(3) ->count(3)
->create(); ->create();
@@ -210,6 +212,7 @@ class TeamManagementTest extends TestCase
public function it_delete_invited_member_from_team_folder() public function it_delete_invited_member_from_team_folder()
{ {
[$user, $member_1, $member_2] = User::factory() [$user, $member_1, $member_2] = User::factory()
->hasSettings()
->count(3) ->count(3)
->create(); ->create();
@@ -286,6 +289,7 @@ class TeamManagementTest extends TestCase
public function it_remove_member_from_team_folder() public function it_remove_member_from_team_folder()
{ {
[$user, $member, $deletedMember] = User::factory() [$user, $member, $deletedMember] = User::factory()
->hasSettings()
->count(3) ->count(3)
->create(); ->create();
@@ -358,6 +362,7 @@ class TeamManagementTest extends TestCase
public function it_update_invited_member_permission_in_team_folder() public function it_update_invited_member_permission_in_team_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory() $folder = Folder::factory()
@@ -405,6 +410,7 @@ class TeamManagementTest extends TestCase
public function it_update_member_permission_in_team_folder() public function it_update_member_permission_in_team_folder()
{ {
[$user, $member_1, $member_2] = User::factory() [$user, $member_1, $member_2] = User::factory()
->hasSettings()
->count(3) ->count(3)
->create(); ->create();
+7
View File
@@ -47,6 +47,7 @@ class TeamsTest extends TestCase
]); ]);
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$this $this
@@ -90,6 +91,7 @@ class TeamsTest extends TestCase
public function it_mark_newly_created_folder_as_team_folder() public function it_mark_newly_created_folder_as_team_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$teamFolder = Folder::factory() $teamFolder = Folder::factory()
@@ -115,6 +117,7 @@ class TeamsTest extends TestCase
public function it_convert_folder_into_team_folder() public function it_convert_folder_into_team_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory() $folder = Folder::factory()
@@ -161,6 +164,7 @@ class TeamsTest extends TestCase
public function it_get_all_team_folders() public function it_get_all_team_folders()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory() $folder = Folder::factory()
@@ -184,6 +188,7 @@ class TeamsTest extends TestCase
public function it_get_content_of_team_folder() public function it_get_content_of_team_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory() $folder = Folder::factory()
@@ -213,9 +218,11 @@ class TeamsTest extends TestCase
public function it_get_team_folders_shared_with_another_user() public function it_get_team_folders_shared_with_another_user()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$member = User::factory() $member = User::factory()
->hasSettings()
->create(); ->create();
$folders = Folder::factory() $folders = Folder::factory()
+1
View File
@@ -25,6 +25,7 @@ class TrafficTest extends TestCase
->image('fake-file.jpg', 1200); ->image('fake-file.jpg', 1200);
$this->user = User::factory() $this->user = User::factory()
->hasSettings()
->create(); ->create();
} }
+2
View File
@@ -17,6 +17,7 @@ class TrashTest extends TestCase
public function it_restore_items_from_trash() public function it_restore_items_from_trash()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$attributes = [ $attributes = [
@@ -60,6 +61,7 @@ class TrashTest extends TestCase
public function it_dump_trash() public function it_dump_trash()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
+2
View File
@@ -16,6 +16,7 @@ class UserZippingTest extends TestCase
public function it_zip_multiple_files_and_download_it() public function it_zip_multiple_files_and_download_it()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
@@ -68,6 +69,7 @@ class UserZippingTest extends TestCase
public function it_zip_folder_with_content_within_and_download() public function it_zip_folder_with_content_within_and_download()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
+6
View File
@@ -16,6 +16,7 @@ class GateTest extends TestCase
public function owner_rename_folder() public function owner_rename_folder()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
@@ -48,6 +49,7 @@ class GateTest extends TestCase
collect([true, false]) collect([true, false])
->each(function ($is_protected) { ->each(function ($is_protected) {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$root = Folder::factory(Folder::class) $root = Folder::factory(Folder::class)
@@ -114,9 +116,11 @@ class GateTest extends TestCase
public function team_member_with_can_edit_privilege_rename_folder() public function team_member_with_can_edit_privilege_rename_folder()
{ {
$owner = User::factory() $owner = User::factory()
->hasSettings()
->create(); ->create();
$member = User::factory() $member = User::factory()
->hasSettings()
->create(); ->create();
$teamFolder = Folder::factory(Folder::class) $teamFolder = Folder::factory(Folder::class)
@@ -218,9 +222,11 @@ class GateTest extends TestCase
public function team_member_rename_file() public function team_member_rename_file()
{ {
$owner = User::factory() $owner = User::factory()
->hasSettings()
->create(); ->create();
$member = User::factory() $member = User::factory()
->hasSettings()
->create(); ->create();
$teamFolder = Folder::factory(Folder::class) $teamFolder = Folder::factory(Folder::class)
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace Tests\Support\Helpers;
use Tests\TestCase;
class HelperTest extends TestCase
{
/**
* @test
*/
public function it_test_split_name()
{
$firstTest = split_name('Jane Doe');
$this->assertEquals('Jane', $firstTest['first_name']);
$this->assertEquals('Doe', $firstTest['last_name']);
$secondTest = split_name('Jane Doe Hobs');
$this->assertEquals('Jane', $secondTest['first_name']);
$this->assertEquals('Doe Hobs', $secondTest['last_name']);
}
}
@@ -24,6 +24,7 @@ class SchedulerTest extends TestCase
public function it_report_usage_of_subscription() public function it_report_usage_of_subscription()
{ {
$user = User::factory() $user = User::factory()
->hasSettings()
->create(); ->create();
$plan = Plan::factory() $plan = Plan::factory()