From 9e5417ab1c11b9ab25fb8f816b1a247734476976 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 13 Jan 2023 20:16:17 +1100 Subject: [PATCH] Define the Client Statement Class --- app/DataMapper/Schedule/ClientStatement.php | 96 +++++++++++++++++++ .../TaskScheduler/StoreSchedulerRequest.php | 7 +- app/Models/Scheduler.php | 12 +-- tests/Feature/Scheduler/SchedulerTest.php | 15 ++- 4 files changed, 121 insertions(+), 9 deletions(-) create mode 100644 app/DataMapper/Schedule/ClientStatement.php diff --git a/app/DataMapper/Schedule/ClientStatement.php b/app/DataMapper/Schedule/ClientStatement.php new file mode 100644 index 000000000000..e5f51a0051e4 --- /dev/null +++ b/app/DataMapper/Schedule/ClientStatement.php @@ -0,0 +1,96 @@ +all()); $rules = [ - 'name' => ['bail', 'required', Rule::unique('schedulers')->where('company_id', auth()->user()->company()->id)], 'is_paused' => 'bail|sometimes|boolean', 'frequency_id' => 'bail|required|integer|digits_between:1,12', 'next_run' => 'bail|required|date:Y-m-d', @@ -38,6 +37,10 @@ class StoreSchedulerRequest extends Request 'parameters' => 'bail|array', ]; + $rules['name'] = ['bail', 'required', Rule::unique('schedulers')->where('company_id', auth()->user()->company()->id)]; + +nlog($rules); + return $rules; } diff --git a/app/Models/Scheduler.php b/app/Models/Scheduler.php index 09732f875ae9..93d50a42657e 100644 --- a/app/Models/Scheduler.php +++ b/app/Models/Scheduler.php @@ -36,12 +36,12 @@ class Scheduler extends BaseModel use SoftDeletes; protected $fillable = [ - 'start_from', - 'is_paused', - 'repeat_every', + 'name', + 'frequency_id', + 'next_run', 'scheduled_run', - 'action_class', - 'action_name', + 'template', + 'is_paused', 'parameters', ]; @@ -50,7 +50,7 @@ class Scheduler extends BaseModel 'created_at' => 'timestamp', 'updated_at' => 'timestamp', 'deleted_at' => 'timestamp', - 'paused' => 'boolean', + 'is_paused' => 'boolean', 'is_deleted' => 'boolean', 'parameters' => 'array', ]; diff --git a/tests/Feature/Scheduler/SchedulerTest.php b/tests/Feature/Scheduler/SchedulerTest.php index e5b40a153a0b..13c2c84c0f29 100644 --- a/tests/Feature/Scheduler/SchedulerTest.php +++ b/tests/Feature/Scheduler/SchedulerTest.php @@ -69,8 +69,21 @@ class SchedulerTest extends TestCase 'next_run' => '2023-01-31', 'template' => 'client_statement', 'clients' => [], - + 'parameters' => [ + 'date_range' => 'last_month', + 'show_payments_table' => true, + 'show_aging_table' => true, + 'status' => 'paid' + ], ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->postJson('/api/v1/task_schedulers', $data); + + $response->assertStatus(200); + } public function testDeleteSchedule()