diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 8fac5e4ca0b0..e7df44100636 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -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); } diff --git a/public/storage/.htaccess b/public/storage/.htaccess old mode 100644 new mode 100755 diff --git a/tests/Feature/InvoiceTest.php b/tests/Feature/InvoiceTest.php index e0530f5b2056..e54c6c2e2580 100644 --- a/tests/Feature/InvoiceTest.php +++ b/tests/Feature/InvoiceTest.php @@ -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([