makeTestData(); } public function testValidationWorksForLockedInvoiceWhenOff() { $invoice_update = [ 'po_number' => 'test', ]; try { $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->put('/api/v1/invoices/'.$this->encodePrimaryKey($this->invoice->id), $invoice_update) ->assertStatus(200); } catch (ValidationException $e) { $message = json_decode($e->validator->getMessageBag(), 1); $this->assertNotNull($message); \Log::error($message); } } // public function testValidationFailsForLockedInvoiceWhenSent() // { // $this->company->settings->lock_invoices = 'when_sent'; // $this->company->save(); // $settings = $this->client->settings; // $settings->lock_invoices = 'when_sent'; // $this->client->settings = $settings; // $this->client->save(); // $this->invoice = $this->invoice->service()->markSent()->save(); // $invoice_update = [ // 'po_number' => 'test', // ]; // $this->assertEquals($this->invoice->status_id, \App\Models\Invoice::STATUS_SENT); // try { // $response = $this->withHeaders([ // 'X-API-SECRET' => config('ninja.api_secret'), // 'X-API-TOKEN' => $this->token, // ])->put('/api/v1/invoices/'.$this->encodePrimaryKey($this->invoice->id), $invoice_update); // } catch (ValidationException $e) { // $message = json_decode($e->validator->getMessageBag(), 1); // $this->assertNotNull($message); // \Log::error($message); // } // if ($response) { // $response->assertStatus(302); // } // } // public function testValidationFailsForLockedInvoiceWhenPaid() // { // $this->company->settings->lock_invoices = 'when_paid'; // $this->company->save(); // $settings = $this->client->settings; // $settings->lock_invoices = 'when_paid'; // $this->client->settings = $settings; // $this->client->save(); // $this->invoice = $this->invoice->service()->markPaid()->save(); // $invoice_update = [ // 'po_number' => 'test', // ]; // $this->assertEquals($this->invoice->status_id, \App\Models\Invoice::STATUS_PAID); // try { // $response = $this->withHeaders([ // 'X-API-SECRET' => config('ninja.api_secret'), // 'X-API-TOKEN' => $this->token, // ])->put('/api/v1/invoices/'.$this->encodePrimaryKey($this->invoice->id), $invoice_update); // } catch (ValidationException $e) { // $message = json_decode($e->validator->getMessageBag(), 1); // $this->assertNotNull($message); // \Log::error($message); // } // if ($response) { // $response->assertStatus(302); // } // } }