Adjustments for template action

This commit is contained in:
David Bomba 2023-10-06 21:54:40 +11:00
parent 703c60903e
commit 9424950dbb
3 changed files with 59 additions and 12 deletions

View File

@ -540,10 +540,16 @@ class InvoiceController extends BaseController
if($action == 'template' && $user->can('view', $invoices->first())){
$hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid();
TemplateAction::dispatch($ids, $request->template_id, Invoice::class, $user->id, $user->company(), $user->company()->db, $hash_or_response, $request->boolean('send_email'));
TemplateAction::dispatch($ids,
$request->template_id,
Invoice::class,
$user->id,
$user->company(),
$user->company()->db,
$hash_or_response,
$request->boolean('send_email'));
return response()->json(['message' => $hash_or_response], 200);
}

0
public/storage/.htaccess Normal file → Executable file
View File

View File

@ -11,17 +11,19 @@
namespace Tests\Feature;
use App\Helpers\Invoice\InvoiceSum;
use App\Models\Client;
use App\Models\ClientContact;
use App\Models\Invoice;
use App\Repositories\InvoiceRepository;
use App\Utils\Traits\MakesHash;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Session;
use Tests\MockAccountData;
use Tests\TestCase;
use App\Models\Client;
use App\Models\Design;
use App\Models\Invoice;
use Tests\MockAccountData;
use App\Models\ClientContact;
use App\Utils\Traits\MakesHash;
use App\Helpers\Invoice\InvoiceSum;
use App\Repositories\InvoiceRepository;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Session;
use App\Services\Template\TemplateAction;
use Illuminate\Foundation\Testing\DatabaseTransactions;
/**
* @test
@ -48,6 +50,45 @@ class InvoiceTest extends TestCase
$this->makeTestData();
}
public function testTemplateBulkAction()
{
$design_model = Design::find(2);
$replicated_design = $design_model->replicate();
$replicated_design->company_id = $this->company->id;
$replicated_design->user_id = $this->user->id;
$replicated_design->is_template = true;
$replicated_design->is_custom = true;
$replicated_design->save();
//delete invoice
$data = [
'ids' => [$this->invoice->hashed_id],
'action' => 'template',
'template_id' => $replicated_design->hashed_id,
'send_email' => false,
];
$response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token,
])->post('/api/v1/invoices/bulk', $data)
->assertStatus(200);
(new TemplateAction([$this->invoice->hashed_id],
$replicated_design->hashed_id,
Invoice::class,
$this->user->id,
$this->company,
$this->company->db,
'dd',
false))->handle();
}
public function testInvoiceGetDatesBetween()
{
$response = $this->withHeaders([