implementation of user limits and refactoring

This commit is contained in:
Čarodej
2021-11-19 18:44:46 +01:00
parent 4851fb5eab
commit 6ca84d9041
54 changed files with 300 additions and 327 deletions

View File

@@ -29,11 +29,7 @@ class UserFactory extends Factory
'email_verified_at' => now(),
'password' => bcrypt('secret'),
'remember_token' => Str::random(10),
'created_at' => $this->faker->dateTimeBetween(
$startDate = '-36 months',
$endDate = 'now',
$timezone = null
),
'created_at' => $this->faker->dateTimeBetween('-36 months', 'now', null),
];
}
@@ -48,7 +44,6 @@ class UserFactory extends Factory
$user
->settings()
->create([
'max_storage_amount' => $this->faker->randomNumber(1),
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,

View File

@@ -19,6 +19,8 @@ class CreateUsersTable extends Migration
$table->string('email')->unique()->index();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->text('two_factor_secret')->nullable();
$table->text('two_factor_recovery_codes')->nullable();
$table->rememberToken();
$table->timestamps();
$table->charset = 'utf8mb4';

View File

@@ -1,41 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddTwoFactorColumnsToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->text('two_factor_secret')
->after('password')
->nullable();
$table->text('two_factor_recovery_codes')
->after('two_factor_secret')
->nullable();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('two_factor_secret', 'two_factor_recovery_codes');
});
}
}

View File

@@ -1,42 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCustomerColumns extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('stripe_id')->nullable()->index();
$table->string('card_brand')->nullable();
$table->string('card_last_four', 4)->nullable();
$table->timestamp('trial_ends_at')->nullable();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn([
'stripe_id',
'card_brand',
'card_last_four',
'trial_ends_at',
]);
});
}
}

View File

@@ -4,7 +4,7 @@ use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFileManagerFolders extends Migration
class CreateFoldersTable extends Migration
{
/**
* Run the migrations.

View File

@@ -4,7 +4,7 @@ use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFileManagerFiles extends Migration
class CreateFilesTable extends Migration
{
/**
* Run the migrations.

View File

@@ -15,7 +15,6 @@ class CreateUserSettingsTable extends Migration
{
Schema::create('user_settings', function (Blueprint $table) {
$table->uuid('user_id')->index();
$table->integer('max_storage_amount')->default(5);
$table->string('avatar')->nullable();
$table->string('color')->nullable();
$table->text('name')->nullable();

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUserLimitationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('user_limitations', function (Blueprint $table) {
$table->uuid('user_id');
$table->text('max_storage_amount');
$table->text('max_team_members');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('user_limitations');
}
}

View File

@@ -24,7 +24,7 @@
"/chunks/app-language.js": "/chunks/app-language.js?id=172433e8a0e1ac1e6c9e",
"/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js?id=38b2085e829a84df0e5f",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-items~chunks/page~7dbb6a42.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-items~chunks/page~7dbb6a42.js?id=3cbb19b80e635b3524e5",
"/chunks/app-others.js": "/chunks/app-others.js?id=ceb6ea31781b0ecae89d",
"/chunks/app-others.js": "/chunks/app-others.js?id=57365f79bc2289dc8e4e",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=f692b30ef5b5dc7f9605",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=ad0a2e908255f2220282",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=ce07a7ecb486a7143d32",
@@ -109,5 +109,6 @@
"/chunks/upgrade-billing~chunks/upgrade-plan.55127b953178adc257a1.hot-update.js": "/chunks/upgrade-billing~chunks/upgrade-plan.55127b953178adc257a1.hot-update.js",
"/chunks/user-create.55127b953178adc257a1.hot-update.js": "/chunks/user-create.55127b953178adc257a1.hot-update.js",
"/chunks/user-storage.55127b953178adc257a1.hot-update.js": "/chunks/user-storage.55127b953178adc257a1.hot-update.js",
"/chunks/users.55127b953178adc257a1.hot-update.js": "/chunks/users.55127b953178adc257a1.hot-update.js"
"/chunks/users.55127b953178adc257a1.hot-update.js": "/chunks/users.55127b953178adc257a1.hot-update.js",
"/chunks/app-others.211d3a6b4c9c5ba61a30.hot-update.js": "/chunks/app-others.211d3a6b4c9c5ba61a30.hot-update.js"
}

View File

@@ -28,7 +28,7 @@
<div class="block-wrapper" v-if="app.storageLimitation">
<label>{{ $t('admin_settings.others.default_storage') }}:</label>
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Default Storage Space" rules="required" v-slot="{ errors }">
<input @input="$updateText('/admin/settings', 'storage_default', app.defaultStorage)"
<input @input="$updateText('/admin/settings', 'default_storage_amount', app.defaultStorage)"
v-model="app.defaultStorage"
min="1"
max="999999999"
@@ -191,7 +191,7 @@
mounted() {
axios.get('/api/admin/settings', {
params: {
column: 'contact_email|google_analytics|storage_default|registration|storage_limitation|mimetypes_blacklist|upload_limit|user_verification'
column: 'contact_email|google_analytics|default_storage_amount|registration|storage_limitation|mimetypes_blacklist|upload_limit|user_verification'
}
})
.then(response => {
@@ -200,7 +200,7 @@
this.app = {
contactMail: response.data.contact_email,
googleAnalytics: response.data.google_analytics,
defaultStorage: response.data.storage_default,
defaultStorage: response.data.default_storage_amount,
userRegistration: parseInt(response.data.registration),
storageLimitation: parseInt(response.data.storage_limitation),
mimetypesBlacklist : response.data.mimetypes_blacklist,

View File

@@ -60,8 +60,8 @@
userRegistration: {{ $settings->registration ?? 1 }},
userVerification: {{ $settings->user_verification ?? 0 }},
storageLimit: {{ $settings->storage_limitation ?? 1 }},
storageDefaultSpace: {{ $settings->storage_default ?? 5 }},
storageDefaultSpaceFormatted: '{{ isset($settings->storage_default) ? format_gigabytes($settings->storage_default) : format_gigabytes(5) }}',
storageDefaultSpace: {{ $settings->default_storage_amount ?? 5 }},
storageDefaultSpaceFormatted: '{{ isset($settings->default_storage_amount) ? format_gigabytes($settings->default_storage_amount) : format_gigabytes(5) }}',
mimetypesBlacklist: '{{ isset($settings->mimetypes_blacklist) ? $settings->mimetypes_blacklist: null}}',
uploadLimit: {{ isset($settings->upload_limit) ? format_bytes($settings->upload_limit) : 'undefined' }},
uploadLimitFormatted: '{{ isset($settings->upload_limit) ? format_megabytes($settings->upload_limit) : null }}',

View File

@@ -104,7 +104,6 @@ class SetupDevEnvironment extends Command
->settings()
->create([
'avatar' => $avatar_name,
'max_storage_amount' => 5,
'name' => 'Jane Doe',
'address' => $this->faker->address,
'state' => $this->faker->state,
@@ -163,7 +162,6 @@ class SetupDevEnvironment extends Command
->settings()
->create([
'avatar' => $avatar_name,
'max_storage_amount' => 5,
'name' => $this->faker->name,
'address' => $this->faker->address,
'state' => $this->faker->state,
@@ -1004,7 +1002,7 @@ class SetupDevEnvironment extends Command
'value' => 1,
],
[
'name' => 'storage_default',
'name' => 'default_storage_amount',
'value' => 5,
],
[

View File

@@ -125,7 +125,7 @@ class SetupProdEnvironment extends Command
'value' => 1,
],
[
'name' => 'storage_default',
'name' => 'default_storage_amount',
'value' => 5,
],
[
@@ -195,7 +195,6 @@ class SetupProdEnvironment extends Command
$user
->settings()
->create([
'max_storage_amount' => 5,
'name' => 'Admin',
]);

View File

@@ -25,7 +25,7 @@ class CreateNewUserAction extends Controller
RegisterUserRequest $request
): Application | ResponseFactory | Response {
$settings = get_settings([
'storage_default', 'registration', 'user_verification',
'default_storage_amount', 'registration', 'user_verification',
]);
// Check if account registration is enabled
@@ -44,17 +44,12 @@ class CreateNewUserAction extends Controller
$user->markEmailAsVerified();
}
UserSettings::unguard();
$user
->settings()
->create([
'name' => $request->input('name'),
'max_storage_amount' => $settings['storage_default'],
]);
UserSettings::reguard();
event(new Registered($user));
// Log in if verification is disabled

View File

@@ -1,4 +1,5 @@
<?php
namespace App\Users\Models;
use ByteUnits\Metric;
@@ -74,7 +75,6 @@ class User extends Authenticatable implements MustVerifyEmail
'name',
'role',
'created_at',
'max_storage_amount',
];
public $incrementing = false;
@@ -93,7 +93,7 @@ class User extends Authenticatable implements MustVerifyEmail
{
$is_storage_limit = get_settings('storage_limitation') ?? 1;
if (! $is_storage_limit) {
if (!$is_storage_limit) {
return [
'used' => $this->usedCapacity,
'used_formatted' => Metric::bytes($this->usedCapacity)->format(),
@@ -101,10 +101,10 @@ class User extends Authenticatable implements MustVerifyEmail
}
return [
'used' => (float) get_storage_fill_percentage($this->usedCapacity, $this->settings->max_storage_amount),
'used_formatted' => get_storage_fill_percentage($this->usedCapacity, $this->settings->max_storage_amount) . '%',
'capacity' => $this->settings->max_storage_amount,
'capacity_formatted' => format_gigabytes($this->settings->max_storage_amount),
'used' => (float)get_storage_fill_percentage($this->usedCapacity, $this->limitations->max_storage_amount),
'used_formatted' => get_storage_fill_percentage($this->usedCapacity, $this->limitations->max_storage_amount) . '%',
'capacity' => $this->limitations->max_storage_amount,
'capacity_formatted' => format_gigabytes($this->limitations->max_storage_amount),
];
}
@@ -114,7 +114,7 @@ class User extends Authenticatable implements MustVerifyEmail
public function getUsedCapacityAttribute(): int
{
return $this->filesWithTrashed
->map(fn ($item) => $item->getRawOriginal())->sum('filesize');
->map(fn($item) => $item->getRawOriginal())->sum('filesize');
}
/**
@@ -130,14 +130,16 @@ class User extends Authenticatable implements MustVerifyEmail
->get();
}
/**
* Get user attributes
*/
public function settings(): HasOne
{
return $this->hasOne(UserSettings::class);
}
public function limitations(): HasOne
{
return $this->hasOne(UserLimitation::class);
}
/**
* Get user favourites folder
*/
@@ -192,6 +194,12 @@ class User extends Authenticatable implements MustVerifyEmail
static::creating(function ($user) {
$user->id = Str::uuid();
// Create default limitations
$user->limitations()->create([
'max_storage_amount' => get_settings('default_storage_amount') ?? 1,
'max_team_members' => 3,
]);
// Create user directory for his files
Storage::makeDirectory("files/$user->id");
});

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Users\Models;
use Illuminate\Database\Eloquent\Model;
class UserLimitation extends Model
{
public $timestamps = false;
protected $guarded = [];
protected $hidden = [
'user_id',
];
public $incrementing = false;
protected $keyType = 'string';
}

View File

@@ -10,7 +10,6 @@ class UserSettings extends Model
protected $guarded = [
'id',
'max_storage_amount',
];
/**

View File

@@ -15,7 +15,7 @@ class SettingsResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'id' => $this->user_id,
'type' => 'settings',
'attributes' => [
'avatar' => $this->avatar,

View File

@@ -16,13 +16,11 @@ class UserResource extends JsonResource
*/
public function toArray($request)
{
// TODO: zrefaktorovat
return [
'data' => [
'id' => $this->id,
'type' => 'user',
'attributes' => [
'max_storage_amount' => $this->settings->max_storage_amount,
'email' => is_demo() ? obfuscate_email($this->email) : $this->email,
'role' => $this->role,
'two_factor_authentication' => $this->two_factor_secret ? true : false,
@@ -32,8 +30,15 @@ class UserResource extends JsonResource
'updated_at' => format_date($this->updated_at, '%d. %B. %Y'),
],
'relationships' => [
'settings' => new SettingsResource($this->settings),
'favourites' => new FolderCollection($this->favouriteFolders),
'settings' => new SettingsResource($this->settings),
'favourites' => new FolderCollection($this->favouriteFolders),
'limitations' => [
'id' => $this->id,
'type' => 'limitations',
'data' => [
'attributes' => $this->limitations,
],
],
$this->mergeWhen($this->hasSubscription(), fn() => [
'subscription' => new SubscriptionResource($this->subscription),
]),

View File

@@ -47,29 +47,29 @@ class UserStorageResource extends JsonResource
'type' => 'storage',
'attributes' => [
'used' => Metric::bytes($this->usedCapacity)->format(),
'capacity' => format_gigabytes($this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($this->usedCapacity, $this->settings->max_storage_amount),
'capacity' => format_gigabytes($this->limitations->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($this->usedCapacity, $this->limitations->max_storage_amount),
],
'meta' => [
'images' => [
'used' => Metric::bytes($images)->format(),
'percentage' => (float) get_storage_fill_percentage($images, $this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($images, $this->limitations->max_storage_amount),
],
'audios' => [
'used' => Metric::bytes($audios)->format(),
'percentage' => (float) get_storage_fill_percentage($audios, $this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($audios, $this->limitations->max_storage_amount),
],
'videos' => [
'used' => Metric::bytes($videos)->format(),
'percentage' => (float) get_storage_fill_percentage($videos, $this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($videos, $this->limitations->max_storage_amount),
],
'documents' => [
'used' => Metric::bytes($documents)->format(),
'percentage' => (float) get_storage_fill_percentage($documents, $this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($documents, $this->limitations->max_storage_amount),
],
'others' => [
'used' => Metric::bytes($others)->format(),
'percentage' => (float) get_storage_fill_percentage($others, $this->settings->max_storage_amount),
'percentage' => (float) get_storage_fill_percentage($others, $this->limitations->max_storage_amount),
],
],
],

View File

@@ -16,7 +16,7 @@ class ChangeUserStorageCapacityController extends Controller
User $user,
): UserStorageResource {
$user
->settings()
->limitations()
->update(
$request->input('attributes')
);

View File

@@ -43,18 +43,13 @@ class UserController extends Controller
'email_verified_at' => now(),
]);
UserSettings::unguard();
$user
->settings()
->create([
'max_storage_amount' => $request->input('max_storage_amount'),
'avatar' => store_avatar($request, 'avatar'),
'name' => $request->input('name'),
]);
UserSettings::reguard();
return response(new UserResource($user), 201);
}
}

View File

@@ -48,7 +48,6 @@ class CreateAdminAccountController extends Controller
$user
->settings()
->create([
'max_storage_amount' => get_settings('storage_default') ?? 5,
'avatar' => store_avatar($request, 'avatar'),
'name' => $request->input('name'),
]);

View File

@@ -61,7 +61,7 @@ class StoreAppSettingsController extends Controller
'value' => $request->input('storageLimitation'),
],
[
'name' => 'storage_default',
'name' => 'default_storage_amount',
'value' => $request->input('defaultStorage') ?? 5,
],
])->each(function ($col) {

View File

@@ -1,4 +1,5 @@
<?php
namespace Support\Listeners;
use Illuminate\Events\Dispatcher;
@@ -10,22 +11,25 @@ class SubscriptionEventSubscriber
{
public function handleSubscriptionWasCreated($subscription)
{
$subscription->user->settings->update([
$subscription->user->limitations()->update([
'max_storage_amount' => $subscription->feature('max_storage_amount'),
'max_team_members' => $subscription->feature('max_team_members'),
]);
}
public function handleSubscriptionWasUpdated($subscription)
{
$subscription->user->settings->update([
$subscription->user->limitations()->update([
'max_storage_amount' => $subscription->feature('max_storage_amount'),
'max_team_members' => $subscription->feature('max_team_members'),
]);
}
public function handleSubscriptionWasExpired($subscription)
{
$subscription->user->settings->update([
'max_storage_amount' => get_settings('storage_default'),
$subscription->user->limitations()->update([
'max_storage_amount' => get_settings('default_storage_amount'),
'max_team_members' => 5,
]);
}

View File

@@ -499,7 +499,7 @@ if (! function_exists('user_storage_percentage')) {
$used = $user->usedCapacity + $additionals;
}
return get_storage_fill_percentage($used, $user->settings->max_storage_amount);
return get_storage_fill_percentage($used, $user->limitations->max_storage_amount);
}
}

View File

@@ -13,7 +13,7 @@ class PersonalAccessTokenTest extends TestCase
*/
public function it_create_user_token()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -34,7 +34,7 @@ class PersonalAccessTokenTest extends TestCase
*/
public function it_revoke_user_token()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$user->createToken('token');
@@ -56,7 +56,7 @@ class PersonalAccessTokenTest extends TestCase
*/
public function it_get_user_tokens()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$user->createToken('token');
@@ -81,7 +81,7 @@ class PersonalAccessTokenTest extends TestCase
*/
public function it_use_user_token_in_public_api_request()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -89,7 +89,7 @@ class PersonalAccessTokenTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'parent_id' => $folder->id,

View File

@@ -1,4 +1,5 @@
<?php
namespace Tests\App\Users;
use Storage;
@@ -19,7 +20,7 @@ class SignFlowTest extends TestCase
{
collect([
[
'name' => 'storage_default',
'name' => 'default_storage_amount',
'value' => 12,
],
[
@@ -47,10 +48,9 @@ class SignFlowTest extends TestCase
$this->assertDatabaseHas('users', [
'email' => 'john@doe.com',
'email_verified_at' => null,
]);
$this->assertDatabaseHas('user_settings', [
'name' => 'John Doe',
])->assertDatabaseHas('user_settings', [
'name' => 'John Doe',
])->assertDatabaseHas('user_limitations', [
'max_storage_amount' => 12,
]);
@@ -106,7 +106,7 @@ class SignFlowTest extends TestCase
*/
public function it_check_if_user_exist_and_return_name_with_avatar()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['email' => 'john@doe.com']);
$this->postJson('/api/user/check', [
@@ -129,7 +129,7 @@ class SignFlowTest extends TestCase
*/
public function it_login_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['email' => 'john@doe.com']);
$this->postJson('/login', [
@@ -143,7 +143,7 @@ class SignFlowTest extends TestCase
*/
public function it_logout_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -157,7 +157,7 @@ class SignFlowTest extends TestCase
*/
public function it_send_reset_link_to_email()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['email' => 'john@doe.com']);
$this->postJson('/api/password/email', [
@@ -172,7 +172,7 @@ class SignFlowTest extends TestCase
*/
public function it_reset_user_password()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['email' => 'john@doe.com']);
// Get password token

View File

@@ -17,7 +17,7 @@ class UserAccountTest extends TestCase
*/
public function it_generate_and_store_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
$this->assertDatabaseHas('users', [
@@ -38,7 +38,7 @@ class UserAccountTest extends TestCase
*/
public function it_test_user_timezone()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
Folder::factory(Folder::class)
@@ -64,7 +64,7 @@ class UserAccountTest extends TestCase
*/
public function it_change_user_password_in_profile_settings()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -83,7 +83,7 @@ class UserAccountTest extends TestCase
*/
public function it_update_user_settings()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -103,7 +103,7 @@ class UserAccountTest extends TestCase
*/
public function it_update_user_avatar()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$avatar = UploadedFile::fake()
@@ -128,7 +128,7 @@ class UserAccountTest extends TestCase
*/
public function it_get_user_data()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -140,7 +140,6 @@ class UserAccountTest extends TestCase
'id' => (string) $user->id,
'type' => 'user',
'attributes' => [
'max_storage_amount' => '5',
'email' => $user->email,
'role' => $user->role,
'two_factor_authentication' => false,
@@ -148,12 +147,11 @@ class UserAccountTest extends TestCase
'storage' => [
'used' => 0,
'used_formatted' => '0.00%',
'capacity' => '5',
'capacity_formatted' => '5GB',
'capacity' => '1',
'capacity_formatted' => '1GB',
],
'created_at_formatted' => format_date($user->created_at, '%d. %B. %Y'),
'created_at' => $user->created_at->toJson(),
'updated_at' => $user->updated_at->toJson(),
'created_at' => format_date($user->created_at, '%d. %B. %Y'),
'updated_at' => format_date($user->updated_at, '%d. %B. %Y'),
],
'relationships' => [
'settings' => [
@@ -176,6 +174,13 @@ class UserAccountTest extends TestCase
'favourites' => [
'data' => [],
],
'limitations' => [
'id' => $user->id,
'type' => 'limitations',
'data' => [
'attributes' => $user->limitations,
],
],
],
],
]);
@@ -186,7 +191,7 @@ class UserAccountTest extends TestCase
*/
public function it_verify_user_email()
{
$user = User::factory(User::class)
$user = User::factory()
->create([
'email_verified_at' => null,
]);
@@ -209,7 +214,7 @@ class UserAccountTest extends TestCase
*/
public function it_resend_user_verify_email()
{
$user = User::factory(User::class)
$user = User::factory()
->create([
'email_verified_at' => null,
]);

View File

@@ -19,11 +19,11 @@ class AdminTest extends TestCase
*/
public function it_get_all_users()
{
$users = User::factory(User::class)
$users = User::factory()
->count(5)
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
Sanctum::actingAs($admin);
@@ -42,10 +42,10 @@ class AdminTest extends TestCase
*/
public function it_get_single_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
// TODO: pridat exactjson po refaktorovani userresource
@@ -63,10 +63,10 @@ class AdminTest extends TestCase
*/
public function it_get_non_existed_user_subscription()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -80,12 +80,12 @@ class AdminTest extends TestCase
*/
public function it_get_user_storage_detail()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
collect(['image', 'audio', 'video', 'pdf', 'zip'])
->each(function ($mimetype) use ($user) {
File::factory(File::class)
File::factory()
->create([
'user_id' => $user->id,
'type' => $mimetype,
@@ -94,7 +94,7 @@ class AdminTest extends TestCase
]);
});
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -107,29 +107,29 @@ class AdminTest extends TestCase
'type' => 'storage',
'attributes' => [
'used' => '5.00MB',
'capacity' => '5GB',
'percentage' => 0.1,
'capacity' => '1GB',
'percentage' => 0.5,
],
'meta' => [
'images' => [
'used' => '1.00MB',
'percentage' => 0.02,
'percentage' => 0.1,
],
'audios' => [
'used' => '1.00MB',
'percentage' => 0.02,
'percentage' => 0.1,
],
'videos' => [
'used' => '1.00MB',
'percentage' => 0.02,
'percentage' => 0.1,
],
'documents' => [
'used' => '1.00MB',
'percentage' => 0.02,
'percentage' => 0.1,
],
'others' => [
'used' => '1.00MB',
'percentage' => 0.02,
'percentage' => 0.1,
],
],
],
@@ -141,10 +141,10 @@ class AdminTest extends TestCase
*/
public function it_send_reset_password_for_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -160,10 +160,10 @@ class AdminTest extends TestCase
*/
public function it_change_user_storage_capacity()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -176,6 +176,7 @@ class AdminTest extends TestCase
$this->assertDatabaseHas('user_settings', [
'user_id' => $user->id,
])->assertDatabaseHas('user_limitations', [
'max_storage_amount' => 10,
]);
}
@@ -185,10 +186,10 @@ class AdminTest extends TestCase
*/
public function it_change_user_role()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -207,7 +208,7 @@ class AdminTest extends TestCase
*/
public function it_create_new_user_with_avatar()
{
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$avatar = UploadedFile::fake()
@@ -252,7 +253,7 @@ class AdminTest extends TestCase
public function it_delete_user_with_all_data()
{
// Create and login user
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'user']);
Sanctum::actingAs($user);
@@ -301,7 +302,7 @@ class AdminTest extends TestCase
->first();
// Create and login admin
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
Sanctum::actingAs($admin);

View File

@@ -14,10 +14,10 @@ class DashboardTest extends TestCase
*/
public function it_get_dashboard_data()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'admin']);
File::factory(File::class)
File::factory()
->count(2)
->create(['filesize' => 1000000]);
@@ -43,11 +43,11 @@ class DashboardTest extends TestCase
*/
public function it_get_new_users_for_dashboard()
{
$users = User::factory(User::class)
$users = User::factory()
->count(5)
->create(['role' => 'user']);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
Sanctum::actingAs($admin);

View File

@@ -19,7 +19,7 @@ class BrowseTest extends TestCase
*/
public function it_get_navigator_tree()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder_level_1 = Folder::factory(Folder::class)
@@ -133,7 +133,7 @@ class BrowseTest extends TestCase
*/
public function it_get_folder_content()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -150,7 +150,7 @@ class BrowseTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'parent_id' => $root->id,
'name' => 'Document',
@@ -181,7 +181,7 @@ class BrowseTest extends TestCase
*/
public function it_get_recent_files()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -190,7 +190,7 @@ class BrowseTest extends TestCase
'user_id' => $user->id,
]);
$file_1 = File::factory(File::class)
$file_1 = File::factory()
->create([
'parent_id' => $root->id,
'name' => 'Document 1',
@@ -204,7 +204,7 @@ class BrowseTest extends TestCase
$this->travel(5)->minutes();
$file_2 = File::factory(File::class)
$file_2 = File::factory()
->create([
'parent_id' => $root->id,
'name' => 'Document 2',
@@ -233,7 +233,7 @@ class BrowseTest extends TestCase
*/
public function it_get_trash_root()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -245,7 +245,7 @@ class BrowseTest extends TestCase
'deleted_at' => now(),
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'parent_id' => null,
'name' => 'Document',
@@ -257,7 +257,7 @@ class BrowseTest extends TestCase
'deleted_at' => now(),
]);
File::factory(File::class)
File::factory()
->create([
'parent_id' => $folder->id,
'user_id' => $user->id,
@@ -281,7 +281,7 @@ class BrowseTest extends TestCase
*/
public function it_get_shared_items()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
Sanctum::actingAs($user);
@@ -291,7 +291,7 @@ class BrowseTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
]);

View File

@@ -48,7 +48,7 @@ class ContentAccessTest extends TestCase
*/
public function it_get_private_user_file()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$file = UploadedFile::fake()
@@ -56,7 +56,7 @@ class ContentAccessTest extends TestCase
Storage::putFileAs("files/$user->id", $file, $file->name);
File::factory(File::class)
File::factory()
->create([
'user_id' => $user->id,
'basename' => $file->name,
@@ -74,7 +74,7 @@ class ContentAccessTest extends TestCase
*/
public function it_get_private_user_image_thumbnail()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$thumbnail = UploadedFile::fake()
@@ -82,7 +82,7 @@ class ContentAccessTest extends TestCase
Storage::putFileAs("files/$user->id", $thumbnail, $thumbnail->name);
File::factory(File::class)
File::factory()
->create([
'user_id' => $user->id,
'basename' => 'fake-thumbnail.jpg',
@@ -124,7 +124,7 @@ class ContentAccessTest extends TestCase
*/
public function logged_user_try_to_get_another_private_user_file()
{
$users = User::factory(User::class)
$users = User::factory()
->count(2)
->create();
@@ -133,7 +133,7 @@ class ContentAccessTest extends TestCase
Storage::putFileAs("files/{$users[0]->id}", $file, $file->name);
File::factory(File::class)
File::factory()
->create([
'user_id' => $users[0]->id,
'basename' => $file->name,

View File

@@ -17,7 +17,7 @@ class FileTest extends TestCase
*/
public function it_test_file_factory()
{
$file = File::factory(File::class)
$file = File::factory()
->create();
$this->assertDatabaseHas('files', [
@@ -70,7 +70,7 @@ class FileTest extends TestCase
$file = UploadedFile::fake()
->create('fake-file.pdf', 12000000, 'application/pdf');
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -108,14 +108,14 @@ class FileTest extends TestCase
$file = UploadedFile::fake()
->image('fake-file.jpeg', 1000);
$user = User::factory(User::class)
$user = User::factory()
->create();
$user->settings()->update([
$user->limitations()->update([
'max_storage_amount' => 1,
]);
File::factory(File::class)
File::factory()
->create([
'user_id' => $user->id,
'filesize' => '1000000000',
@@ -148,7 +148,7 @@ class FileTest extends TestCase
$file = UploadedFile::fake()
->create('fake-file.pdf', 1200, 'application/pdf');
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -168,10 +168,10 @@ class FileTest extends TestCase
*/
public function it_rename_file()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
]);
@@ -197,7 +197,7 @@ class FileTest extends TestCase
*/
public function it_move_file_to_another_folder()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -205,7 +205,7 @@ class FileTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
]);
@@ -233,10 +233,10 @@ class FileTest extends TestCase
*/
public function it_delete_multiple_files_softly()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$files = File::factory(File::class)
$files = File::factory()
->count(2)
->create([
'user_id' => $user->id,
@@ -272,7 +272,7 @@ class FileTest extends TestCase
*/
public function it_delete_multiple_files_hardly()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
Sanctum::actingAs($user);

View File

@@ -15,7 +15,7 @@ class FavouriteFolderTest extends TestCase
$folder = Folder::factory(Folder::class)
->create();
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -40,7 +40,7 @@ class FavouriteFolderTest extends TestCase
$folder = Folder::factory(Folder::class)
->create();
$user = User::factory(User::class)
$user = User::factory()
->create();
$user

View File

@@ -296,13 +296,13 @@ class FolderTest extends TestCase
'parent_id' => $folder_root->id,
]);
$file_1 = File::factory(File::class)
$file_1 = File::factory()
->create([
'parent_id' => $folder_root->id,
'user_id' => $user->id,
]);
$file_2 = File::factory(File::class)
$file_2 = File::factory()
->create([
'parent_id' => $folder_children->id,
'user_id' => $user->id,

View File

@@ -55,7 +55,7 @@ class HomepageTest extends TestCase
*/
public function it_get_og_page_for_folder()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -114,10 +114,10 @@ class HomepageTest extends TestCase
*/
public function it_get_og_page_for_protected_file()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'name' => 'Fake Image',

View File

@@ -19,7 +19,7 @@ class AdminLanguageTranslatorTest extends TestCase
'value' => 'Extended',
]);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -53,7 +53,7 @@ class AdminLanguageTranslatorTest extends TestCase
{
resolve(SeedDefaultLanguageAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$language = Language::first();
@@ -85,7 +85,7 @@ class AdminLanguageTranslatorTest extends TestCase
'locale' => 'sk',
]);
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -112,7 +112,7 @@ class AdminLanguageTranslatorTest extends TestCase
{
resolve(SeedDefaultLanguageAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$language = Language::first();
@@ -130,7 +130,7 @@ class AdminLanguageTranslatorTest extends TestCase
{
resolve(SeedDefaultLanguageAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -150,7 +150,7 @@ class AdminLanguageTranslatorTest extends TestCase
{
resolve(SeedDefaultLanguageAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$language = Language::first();
@@ -176,7 +176,7 @@ class AdminLanguageTranslatorTest extends TestCase
{
resolve(SeedDefaultLanguageAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$language = Language::first();

View File

@@ -13,7 +13,7 @@ class AppUpgradeTest extends TestCase
*/
public function it_upgrade_default_language_translations()
{
$user = User::factory(User::class)
$user = User::factory()
->create(['role' => 'admin']);
DB::table('settings')

View File

@@ -15,7 +15,7 @@ class AdminPagesTest extends TestCase
{
resolve(SeedDefaultPagesAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
Sanctum::actingAs($admin);
@@ -37,7 +37,7 @@ class AdminPagesTest extends TestCase
{
resolve(SeedDefaultPagesAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -56,7 +56,7 @@ class AdminPagesTest extends TestCase
{
resolve(SeedDefaultPagesAction::class)();
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this

View File

@@ -40,7 +40,7 @@ class SettingsTest extends TestCase
{
resolve(SeedDefaultSettingsAction::class)('Extended');
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -74,7 +74,7 @@ class SettingsTest extends TestCase
{
resolve(SeedDefaultSettingsAction::class)('Extended');
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -102,7 +102,7 @@ class SettingsTest extends TestCase
$logo = UploadedFile::fake()
->image('fake-image.jpg');
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -126,7 +126,7 @@ class SettingsTest extends TestCase
*/
public function it_flush_cache()
{
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -140,7 +140,7 @@ class SettingsTest extends TestCase
*/
public function it_set_stripe()
{
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this
@@ -173,7 +173,7 @@ class SettingsTest extends TestCase
*/
public function it_set_email()
{
$admin = User::factory(User::class)
$admin = User::factory()
->create(['role' => 'admin']);
$this

View File

@@ -188,7 +188,7 @@ class SetupWizardTest extends TestCase
]);
$this->assertDatabaseHas('settings', [
'name' => 'storage_default',
'name' => 'default_storage_amount',
'value' => '10',
]);

View File

@@ -16,10 +16,10 @@ class UserShareTest extends TestCase
*/
public function it_share_single_file_without_password()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$file = File::factory(File::class)
$file = File::factory()
->create(['user_id' => $user->id]);
$this
@@ -49,7 +49,7 @@ class UserShareTest extends TestCase
*/
public function it_share_folder_without_password()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -82,7 +82,7 @@ class UserShareTest extends TestCase
*/
public function it_share_folder_with_password()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -121,7 +121,7 @@ class UserShareTest extends TestCase
*/
public function it_share_folder_with_expiration_time()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -148,7 +148,7 @@ class UserShareTest extends TestCase
*/
public function it_share_folder_and_send_link_for_multiple_email()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -175,7 +175,7 @@ class UserShareTest extends TestCase
*/
public function it_send_existing_shared_folder_for_multiple_email_once_again()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -205,7 +205,7 @@ class UserShareTest extends TestCase
*/
public function it_revoke_single_share_record()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)

View File

@@ -18,7 +18,7 @@ class VisitorAccessToItemsTest extends TestCase
{
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$document = UploadedFile::fake()
@@ -26,7 +26,7 @@ class VisitorAccessToItemsTest extends TestCase
Storage::putFileAs("files/$user->id", $document, $document->name);
$file = File::factory(File::class)
$file = File::factory()
->create([
'filesize' => $document->getSize(),
'user_id' => $user->id,
@@ -66,10 +66,10 @@ class VisitorAccessToItemsTest extends TestCase
*/
public function it_try_to_get_protected_file_record()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'name' => 'fake-thumbnail.jpg',
@@ -95,7 +95,7 @@ class VisitorAccessToItemsTest extends TestCase
{
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$fileName = Str::random() . '-fake-image.jpg';
@@ -105,7 +105,7 @@ class VisitorAccessToItemsTest extends TestCase
Storage::putFileAs("files/$user->id", $thumbnail, $fileName);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'basename' => $fileName,
@@ -149,7 +149,7 @@ class VisitorAccessToItemsTest extends TestCase
{
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$fileName = Str::random() . '-fake-thumbnail.jpg';
@@ -159,7 +159,7 @@ class VisitorAccessToItemsTest extends TestCase
Storage::putFileAs("files/$user->id", $thumbnail, $fileName);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'name' => $fileName,

View File

@@ -77,7 +77,7 @@ class VisitorBrowseTest extends TestCase
*/
public function it_authenticate_protected_file_with_correct_password()
{
$file = File::factory(File::class)
$file = File::factory()
->create();
$share = Share::factory(Share::class)
@@ -104,7 +104,7 @@ class VisitorBrowseTest extends TestCase
*/
public function it_authenticate_protected_file_with_incorrect_password()
{
$file = File::factory(File::class)
$file = File::factory()
->create();
$share = Share::factory(Share::class)
@@ -131,7 +131,7 @@ class VisitorBrowseTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -157,7 +157,7 @@ class VisitorBrowseTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'parent_id' => $root->id,
'name' => 'Document',
@@ -209,7 +209,7 @@ class VisitorBrowseTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder_level_1 = Folder::factory(Folder::class)
@@ -332,7 +332,7 @@ class VisitorBrowseTest extends TestCase
'password' => bcrypt('secret'),
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'name' => 'Document',
'parent_id' => $folder->id,
@@ -386,7 +386,7 @@ class VisitorBrowseTest extends TestCase
'password' => bcrypt('secret'),
]);
File::factory(File::class)
File::factory()
->create([
'name' => 'Document',
'user_id' => $folder->user_id,
@@ -422,7 +422,7 @@ class VisitorBrowseTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$file = File::factory(File::class)
$file = File::factory()
->create([
'name' => 'Document',
]);

View File

@@ -19,7 +19,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -27,7 +27,7 @@ class VisitorManipulatingTest extends TestCase
'user_id' => $user->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'parent_id' => $folder->id,
'user_id' => $user->id,
@@ -88,7 +88,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -157,7 +157,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -221,7 +221,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -238,7 +238,7 @@ class VisitorManipulatingTest extends TestCase
'permission' => 'editor',
]);
$files = File::factory(File::class)
$files = File::factory()
->count(2)
->create([
'user_id' => $user->id,
@@ -296,7 +296,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -365,7 +365,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -379,7 +379,7 @@ class VisitorManipulatingTest extends TestCase
'parent_id' => $root->id,
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $user->id,
'parent_id' => $root->id,
@@ -438,7 +438,7 @@ class VisitorManipulatingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)

View File

@@ -53,7 +53,7 @@ class SearchTest extends TestCase
*/
public function it_get_searched_folder()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)

View File

@@ -41,7 +41,7 @@ class TeamsTest extends TestCase
*/
public function it_create_team_folder()
{
User::factory(User::class)
User::factory()
->create([
'email' => 'john@internal.com',
]);
@@ -160,7 +160,7 @@ class TeamsTest extends TestCase
*/
public function it_get_all_team_folders()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory()
@@ -183,7 +183,7 @@ class TeamsTest extends TestCase
*/
public function it_get_content_of_team_folder()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory()
@@ -212,10 +212,10 @@ class TeamsTest extends TestCase
*/
public function it_get_team_folders_shared_with_another_user()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$member = User::factory(User::class)
$member = User::factory()
->create();
$folders = Folder::factory()

View File

@@ -133,7 +133,7 @@ class TrafficTest extends TestCase
Storage::putFileAs("files/{$this->user->id}", $document, $document->name);
File::factory(File::class)
File::factory()
->create([
'filesize' => $document->getSize(),
'user_id' => $this->user->id,
@@ -162,7 +162,7 @@ class TrafficTest extends TestCase
Storage::putFileAs("files/{$this->user->id}", $document, $document->name);
$file = File::factory(File::class)
$file = File::factory()
->create([
'filesize' => $document->getSize(),
'user_id' => $this->user->id,

View File

@@ -16,7 +16,7 @@ class TrashTest extends TestCase
*/
public function it_restore_items_from_trash()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$attributes = [
@@ -27,7 +27,7 @@ class TrashTest extends TestCase
$folder = Folder::factory(Folder::class)
->create($attributes);
$file = File::factory(File::class)
$file = File::factory()
->create($attributes);
$this
@@ -59,7 +59,7 @@ class TrashTest extends TestCase
*/
public function it_dump_trash()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
Sanctum::actingAs($user);

View File

@@ -20,7 +20,7 @@ class SharedZippingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$sharedFolder = Folder::factory(Folder::class)
@@ -41,7 +41,7 @@ class SharedZippingTest extends TestCase
Storage::putFileAs("files/$user->id", $file, $file->name);
File::factory(File::class)
File::factory()
->create([
'filesize' => $file->getSize(),
'parent_id' => $folder->id,
@@ -58,7 +58,7 @@ class SharedZippingTest extends TestCase
Storage::putFileAs("files/$user->id", $file, $file->name);
File::factory(File::class)
File::factory()
->create([
'filesize' => $file->getSize(),
'parent_id' => $sharedFolder->id,
@@ -112,7 +112,7 @@ class SharedZippingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -120,13 +120,13 @@ class SharedZippingTest extends TestCase
'user_id' => $user->id,
]);
File::factory(File::class)
File::factory()
->create([
'parent_id' => $folder->id,
'user_id' => $user->id,
]);
File::factory(File::class)
File::factory()
->create([
'user_id' => $user->id,
]);
@@ -175,7 +175,7 @@ class SharedZippingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -196,7 +196,7 @@ class SharedZippingTest extends TestCase
Storage::putFileAs("files/$user->id", $file, $file->name);
File::factory(File::class)
File::factory()
->create([
'filesize' => $file->getSize(),
'parent_id' => $children->id,
@@ -243,7 +243,7 @@ class SharedZippingTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)

View File

@@ -15,7 +15,7 @@ class UserZippingTest extends TestCase
*/
public function it_zip_multiple_files_and_download_it()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
Sanctum::actingAs($user);
@@ -67,7 +67,7 @@ class UserZippingTest extends TestCase
*/
public function it_zip_folder_with_content_within_and_download()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
Sanctum::actingAs($user);

View File

@@ -15,7 +15,7 @@ class GateTest extends TestCase
*/
public function owner_rename_folder()
{
$user = User::factory(User::class)
$user = User::factory()
->create();
$folder = Folder::factory(Folder::class)
@@ -47,7 +47,7 @@ class GateTest extends TestCase
// check private or public share record
collect([true, false])
->each(function ($is_protected) {
$user = User::factory(User::class)
$user = User::factory()
->create();
$root = Folder::factory(Folder::class)
@@ -113,10 +113,10 @@ class GateTest extends TestCase
*/
public function team_member_with_can_edit_privilege_rename_folder()
{
$owner = User::factory(User::class)
$owner = User::factory()
->create();
$member = User::factory(User::class)
$member = User::factory()
->create();
$teamFolder = Folder::factory(Folder::class)
@@ -164,10 +164,10 @@ class GateTest extends TestCase
*/
public function team_member_with_can_visit_privilege_try_rename_folder()
{
$owner = User::factory(User::class)
$owner = User::factory()
->create();
$member = User::factory(User::class)
$member = User::factory()
->create();
$teamFolder = Folder::factory(Folder::class)
@@ -217,10 +217,10 @@ class GateTest extends TestCase
*/
public function team_member_rename_file()
{
$owner = User::factory(User::class)
$owner = User::factory()
->create();
$member = User::factory(User::class)
$member = User::factory()
->create();
$teamFolder = Folder::factory(Folder::class)
@@ -230,7 +230,7 @@ class GateTest extends TestCase
'name' => 'Team Folder',
]);
$file = File::factory(File::class)
$file = File::factory()
->create([
'user_id' => $owner->id,
'parent_id' => $teamFolder->id,

View File

@@ -59,19 +59,19 @@ class SchedulerTest extends TestCase
*/
public function it_delete_non_verified_users_after_30_days()
{
$expiredUser = User::factory(User::class)
$expiredUser = User::factory()
->create([
'email_verified_at' => null,
'created_at' => now()->subDays(31),
]);
$nonExpiredUser = User::factory(User::class)
$nonExpiredUser = User::factory()
->create([
'email_verified_at' => null,
'created_at' => now()->subDays(14),
]);
$verifiedUser = User::factory(User::class)
$verifiedUser = User::factory()
->create([
'email_verified_at' => now()->subDays(15),
'created_at' => now()->subDays(31),