mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Tests for endless reminders
This commit is contained in:
parent
c8eaaee91e
commit
999a1be816
@ -31,6 +31,8 @@ class ReminderTest extends TestCase
|
||||
use DatabaseTransactions;
|
||||
use MockAccountData;
|
||||
|
||||
public $faker;
|
||||
|
||||
protected function setUp() :void
|
||||
{
|
||||
parent::setUp();
|
||||
@ -49,6 +51,94 @@ class ReminderTest extends TestCase
|
||||
}
|
||||
|
||||
|
||||
public function testForSingleEndlessReminder()
|
||||
{
|
||||
$this->invoice->next_send_date = null;
|
||||
$this->invoice->date = now()->format('Y-m-d');
|
||||
$this->invoice->last_sent_date = now();
|
||||
$this->invoice->due_date = Carbon::now()->addDays(5)->format('Y-m-d');
|
||||
$this->invoice->save();
|
||||
|
||||
$settings = $this->company->settings;
|
||||
$settings->enable_reminder1 = false;
|
||||
$settings->schedule_reminder1 = '';
|
||||
$settings->num_days_reminder1 = 0;
|
||||
$settings->enable_reminder2 = false;
|
||||
$settings->schedule_reminder2 = '';
|
||||
$settings->num_days_reminder2 = 0;
|
||||
$settings->enable_reminder3 = false;
|
||||
$settings->schedule_reminder3 = '';
|
||||
$settings->num_days_reminder3 = 0;
|
||||
$settings->timezone_id = '5';
|
||||
$settings->entity_send_time = 8;
|
||||
$settings->endless_reminder_frequency_id = '5';
|
||||
$settings->enable_reminder_endless = true;
|
||||
|
||||
$this->client->company->settings = $settings;
|
||||
$this->client->push();
|
||||
|
||||
$client_settings = $settings;
|
||||
$client_settings->timezone_id = '5';
|
||||
$client_settings->entity_send_time = 8;
|
||||
|
||||
$this->invoice->client->settings = $client_settings;
|
||||
$this->invoice->push();
|
||||
|
||||
$this->invoice = $this->invoice->service()->markSent()->save();
|
||||
$this->invoice->service()->setReminder($client_settings)->save();
|
||||
|
||||
$this->invoice = $this->invoice->fresh();
|
||||
|
||||
$this->assertEquals(now()->addMonth()->format('Y-m-d'), Carbon::parse($this->invoice->next_send_date)->format('Y-m-d'));
|
||||
|
||||
// $next_send_date = Carbon::parse($this->invoice->next_send_date);
|
||||
// $calculatedReminderDate = Carbon::parse($this->invoice->due_date)->subDays(4)->addSeconds($this->invoice->client->timezone_offset());
|
||||
|
||||
// nlog($next_send_date->format('Y-m-d h:i:s'));
|
||||
// nlog($calculatedReminderDate->format('Y-m-d h:i:s'));
|
||||
|
||||
// $this->travelTo(now()->addDays(1));
|
||||
|
||||
// $reminder_template = $this->invoice->calculateTemplate('invoice');
|
||||
|
||||
// $this->assertEquals('reminder1', $reminder_template);
|
||||
|
||||
// $this->assertTrue($next_send_date->eq($calculatedReminderDate));
|
||||
|
||||
// $this->invoice->service()->touchReminder($reminder_template)->save();
|
||||
|
||||
// $this->assertNotNull($this->invoice->last_sent_date);
|
||||
// $this->assertNotNull($this->invoice->reminder1_sent);
|
||||
// $this->assertNotNull($this->invoice->reminder_last_sent);
|
||||
|
||||
// //calc next send date
|
||||
// $this->invoice->service()->setReminder()->save();
|
||||
|
||||
// $next_send_date = Carbon::parse($this->invoice->next_send_date);
|
||||
|
||||
// nlog($next_send_date->format('Y-m-d h:i:s'));
|
||||
|
||||
// $calculatedReminderDate = Carbon::parse($this->invoice->due_date)->subDays(2)->addSeconds($this->invoice->client->timezone_offset());
|
||||
// $this->assertTrue($next_send_date->eq($calculatedReminderDate));
|
||||
|
||||
// $this->travelTo(now()->addDays(2));
|
||||
|
||||
// $reminder_template = $this->invoice->calculateTemplate('invoice');
|
||||
|
||||
// $this->assertEquals('reminder2', $reminder_template);
|
||||
// $this->invoice->service()->touchReminder($reminder_template)->save();
|
||||
// $this->assertNotNull($this->invoice->reminder2_sent);
|
||||
|
||||
// $this->invoice->service()->setReminder()->save();
|
||||
|
||||
// $next_send_date = Carbon::parse($this->invoice->next_send_date);
|
||||
// $calculatedReminderDate = Carbon::parse($this->invoice->due_date)->addDays(3)->addSeconds($this->invoice->client->timezone_offset());
|
||||
// $this->assertTrue($next_send_date->eq($calculatedReminderDate));
|
||||
|
||||
// nlog($next_send_date->format('Y-m-d h:i:s'));
|
||||
}
|
||||
|
||||
|
||||
public function testForClientTimezoneEdges()
|
||||
{
|
||||
$this->invoice->next_send_date = null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user