set/update/delete billing alert

This commit is contained in:
Čarodej
2021-12-17 10:44:50 +01:00
parent 04e46b7fcb
commit afb8323541
13 changed files with 307 additions and 96 deletions
+38 -39
View File
@@ -1,10 +1,9 @@
<?php
namespace Tests\App\Users;
use App\Users\Actions\FormatUsageEstimatesAction;
use Tests\TestCase;
use App\Users\Models\User;
use App\Users\Actions\FormatUsageEstimatesAction;
use VueFileManager\Subscription\Domain\Plans\Models\Plan;
use VueFileManager\Subscription\Domain\Plans\Models\PlanFixedFeature;
use VueFileManager\Subscription\Support\Events\SubscriptionWasCreated;
@@ -20,17 +19,17 @@ class UserSubscriptionTest extends TestCase
{
$plan = Plan::factory()
->has(PlanFixedFeature::factory()
->count(2)
->sequence(
[
'key' => 'max_storage_amount',
'value' => 200,
],
[
'key' => 'max_team_members',
'value' => 20,
],
), 'fixedFeatures')
->count(2)
->sequence(
[
'key' => 'max_storage_amount',
'value' => 200,
],
[
'key' => 'max_team_members',
'value' => 20,
],
), 'fixedFeatures')
->create();
$user = User::factory()
@@ -54,17 +53,17 @@ class UserSubscriptionTest extends TestCase
{
$plan = Plan::factory()
->has(PlanFixedFeature::factory()
->count(2)
->sequence(
[
'key' => 'max_storage_amount',
'value' => 200,
],
[
'key' => 'max_team_members',
'value' => 20,
],
), 'fixedFeatures')
->count(2)
->sequence(
[
'key' => 'max_storage_amount',
'value' => 200,
],
[
'key' => 'max_team_members',
'value' => 20,
],
), 'fixedFeatures')
->create();
$user = User::factory()
@@ -111,13 +110,13 @@ class UserSubscriptionTest extends TestCase
$usages = collect([
[
'feature' => 'bandwidth',
"amount" => 7546.96,
"usage" => 26024,
'amount' => 7546.96,
'usage' => 26024,
], [
"feature" => "storage",
"amount" => 476.28,
"usage" => 3969,
]
'feature' => 'storage',
'amount' => 476.28,
'usage' => 3969,
],
]);
// Format usage estimates
@@ -126,16 +125,16 @@ class UserSubscriptionTest extends TestCase
$expected = [
[
"feature" => "bandwidth",
"amount" => 7.54696,
"cost" => "$7.55",
"usage" => "26.02GB",
'feature' => 'bandwidth',
'amount' => 7.54696,
'cost' => '$7.55',
'usage' => '26.02GB',
], [
"feature" => "storage",
"amount" => 0.47628,
"cost" => "$0.48",
"usage" => "3.97GB",
]
'feature' => 'storage',
'amount' => 0.47628,
'cost' => '$0.48',
'usage' => '3.97GB',
],
];
$this->assertEquals($expected, $estimates);
+4 -4
View File
@@ -30,10 +30,10 @@ class TeamLimitsTest extends TestCase
$members->each(
fn ($member) => TeamFolderMember::factory()
->create([
'parent_id' => $user->folders[0]->id,
'user_id' => $member->id,
])
->create([
'parent_id' => $user->folders[0]->id,
'user_id' => $member->id,
])
);
// Try invite new member
+2 -3
View File
@@ -1,9 +1,6 @@
<?php
namespace Tests\Domain\Traffic;
use Domain\Traffic\Models\Traffic;
use Illuminate\Database\Eloquent\Model;
use Storage;
use Tests\TestCase;
use App\Users\Models\User;
@@ -12,6 +9,8 @@ use Domain\Files\Models\File;
use Domain\Sharing\Models\Share;
use Domain\Folders\Models\Folder;
use Illuminate\Http\UploadedFile;
use Domain\Traffic\Models\Traffic;
use Illuminate\Database\Eloquent\Model;
class TrafficTest extends TestCase
{
+6 -7
View File
@@ -1,19 +1,18 @@
<?php
namespace Tests\Support\Scheduler;
use Domain\Files\Models\File;
use Domain\Traffic\Models\Traffic;
use Storage;
use Support\Scheduler\Actions\ReportUsageAction;
use Tests\TestCase;
use App\Users\Models\User;
use Domain\Files\Models\File;
use Domain\Sharing\Models\Share;
use Illuminate\Http\UploadedFile;
use Domain\Traffic\Models\Traffic;
use Support\Scheduler\Actions\ReportUsageAction;
use Support\Scheduler\Actions\DeleteFailedFilesAction;
use VueFileManager\Subscription\Domain\Plans\Models\Plan;
use Support\Scheduler\Actions\DeleteUnverifiedUsersAction;
use Support\Scheduler\Actions\DeleteExpiredShareLinksAction;
use VueFileManager\Subscription\Domain\Plans\Models\Plan;
use VueFileManager\Subscription\Domain\Plans\Models\PlanMeteredFeature;
use VueFileManager\Subscription\Domain\Subscriptions\Models\Subscription;
@@ -58,8 +57,8 @@ class SchedulerTest extends TestCase
Traffic::factory()
->create([
'user_id' => $user->id,
'download' => 155000000,
'user_id' => $user->id,
'download' => 155000000,
'created_at' => now()->subDay(),
]);