mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Back fill test for filters
This commit is contained in:
parent
fe24cc5eb6
commit
0caa8ea8ce
@ -32,11 +32,11 @@ class ExpenseFilters extends QueryFilters
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $this->builder->where(function ($query) use ($filter) {
|
return $this->builder->where(function ($query) use ($filter) {
|
||||||
$query->where('expenses.public_notes', 'like', '%'.$filter.'%')
|
$query->where('public_notes', 'like', '%'.$filter.'%')
|
||||||
->orWhere('expenses.custom_value1', 'like', '%'.$filter.'%')
|
->orWhere('custom_value1', 'like', '%'.$filter.'%')
|
||||||
->orWhere('expenses.custom_value2', 'like', '%'.$filter.'%')
|
->orWhere('custom_value2', 'like', '%'.$filter.'%')
|
||||||
->orWhere('expenses.custom_value3', 'like', '%'.$filter.'%')
|
->orWhere('custom_value3', 'like', '%'.$filter.'%')
|
||||||
->orWhere('expenses.custom_value4', 'like', '%'.$filter.'%');
|
->orWhere('custom_value4', 'like', '%'.$filter.'%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\Project;
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ProjectFilters.
|
* ProjectFilters.
|
||||||
@ -52,7 +48,8 @@ class ProjectFilters extends QueryFilters
|
|||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
|
if(is_array($sort_col))
|
||||||
|
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\PurchaseOrder;
|
use App\Models\PurchaseOrder;
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
class PurchaseOrderFilters extends QueryFilters
|
class PurchaseOrderFilters extends QueryFilters
|
||||||
|
@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\RecurringExpense;
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RecurringExpenseFilters.
|
* RecurringExpenseFilters.
|
||||||
@ -29,19 +25,18 @@ class RecurringExpenseFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->builder->where(function ($query) use ($filter) {
|
return $this->builder->where(function ($query) use ($filter) {
|
||||||
$query->where('recurring_expenses.name', 'like', '%'.$filter.'%')
|
$query->where('public_notes', 'like', '%'.$filter.'%')
|
||||||
->orWhere('recurring_expenses.id_number', 'like', '%'.$filter.'%')
|
->orWhere('custom_value1', 'like', '%'.$filter.'%')
|
||||||
->orWhere('recurring_expenses.custom_value1', 'like', '%'.$filter.'%')
|
->orWhere('custom_value2', 'like', '%'.$filter.'%')
|
||||||
->orWhere('recurring_expenses.custom_value2', 'like', '%'.$filter.'%')
|
->orWhere('custom_value3', 'like', '%'.$filter.'%')
|
||||||
->orWhere('recurring_expenses.custom_value3', 'like', '%'.$filter.'%')
|
->orWhere('custom_value4', 'like', '%'.$filter.'%');
|
||||||
->orWhere('recurring_expenses.custom_value4', 'like', '%'.$filter.'%');
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +46,7 @@ class RecurringExpenseFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,7 +76,10 @@ class RecurringInvoiceFilters extends QueryFilters
|
|||||||
if (in_array('completed', $status_parameters))
|
if (in_array('completed', $status_parameters))
|
||||||
$recurring_filters[] = RecurringInvoice::STATUS_COMPLETED;
|
$recurring_filters[] = RecurringInvoice::STATUS_COMPLETED;
|
||||||
|
|
||||||
return $this->builder->whereIn('status_id', $recurring_filters);
|
if(count($recurring_filters) >= 1)
|
||||||
|
return $this->builder->whereIn('status_id', $recurring_filters);
|
||||||
|
|
||||||
|
return $this->builder;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,7 +25,7 @@ class RecurringQuoteFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -46,7 +45,7 @@ class RecurringQuoteFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
@ -56,9 +55,9 @@ class RecurringQuoteFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use App\Models\Webhook;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SubscriptionFilters.
|
* SubscriptionFilters.
|
||||||
@ -29,7 +25,7 @@ class SubscriptionFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -46,7 +42,7 @@ class SubscriptionFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
@ -56,9 +52,9 @@ class SubscriptionFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,9 +65,9 @@ class SystemLogFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
@ -29,7 +28,7 @@ class TaskFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -55,7 +54,7 @@ class TaskFilters extends QueryFilters
|
|||||||
* @param string client_status The invoice status as seen by the client
|
* @param string client_status The invoice status as seen by the client
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function client_status(string $value = '') :Builder
|
public function client_status(string $value = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($value) == 0) {
|
if (strlen($value) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -90,7 +89,7 @@ class TaskFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
@ -100,9 +99,9 @@ class TaskFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,7 +25,7 @@ class TaskStatusFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -53,9 +52,9 @@ class TaskStatusFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,9 +52,9 @@ class TaxRateFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,10 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TokenFilters.
|
* TokenFilters.
|
||||||
@ -55,9 +52,9 @@ class TokenFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use App\Models\Vendor;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* VendorFilters.
|
* VendorFilters.
|
||||||
@ -29,7 +25,7 @@ class VendorFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
@ -56,7 +52,7 @@ class VendorFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
@ -66,12 +62,10 @@ class VendorFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
|
|
||||||
//return $this->builder->whereCompanyId(auth()->user()->company()->id);
|
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Filters;
|
namespace App\Filters;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use App\Models\Webhook;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TokenFilters.
|
* TokenFilters.
|
||||||
@ -29,14 +25,14 @@ class WebhookFilters extends QueryFilters
|
|||||||
* @return Builder
|
* @return Builder
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
public function filter(string $filter = '') : Builder
|
public function filter(string $filter = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($filter) == 0) {
|
if (strlen($filter) == 0) {
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->builder->where(function ($query) use ($filter) {
|
return $this->builder->where(function ($query) use ($filter) {
|
||||||
$query->where('webhooks.target_url', 'like', '%'.$filter.'%');
|
$query->where('target_url', 'like', '%'.$filter.'%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +42,7 @@ class WebhookFilters extends QueryFilters
|
|||||||
* @param string sort formatted as column|asc
|
* @param string sort formatted as column|asc
|
||||||
* @return Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function sort(string $sort) : Builder
|
public function sort(string $sort): Builder
|
||||||
{
|
{
|
||||||
$sort_col = explode('|', $sort);
|
$sort_col = explode('|', $sort);
|
||||||
|
|
||||||
@ -56,9 +52,9 @@ class WebhookFilters extends QueryFilters
|
|||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
*
|
*
|
||||||
* @return Illuminate\Database\Query\Builder
|
* @return Builder
|
||||||
*/
|
*/
|
||||||
public function entityFilter()
|
public function entityFilter(): Builder
|
||||||
{
|
{
|
||||||
return $this->builder->company();
|
return $this->builder->company();
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,19 @@ class CompanyTokenApiTest extends TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testCompanyTokenListFilter()
|
||||||
|
{
|
||||||
|
$this->withoutMiddleware(PasswordProtection::class);
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
'X-API-PASSWORD' => 'ALongAndBriliantPassword',
|
||||||
|
])->get('/api/v1/tokens?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testCompanyTokenList()
|
public function testCompanyTokenList()
|
||||||
{
|
{
|
||||||
$this->withoutMiddleware(PasswordProtection::class);
|
$this->withoutMiddleware(PasswordProtection::class);
|
||||||
|
@ -42,6 +42,16 @@ class ProjectApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testProjectGetFilter()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/projects?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testProjectGet()
|
public function testProjectGet()
|
||||||
{
|
{
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
|
@ -50,6 +50,15 @@ class QuoteTest extends TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testQuoteListApproved()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/quotes?client_status=approved');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testQuoteConvertToProject()
|
public function testQuoteConvertToProject()
|
||||||
|
@ -43,6 +43,16 @@ class RecurringExpenseApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testRecurringExpenseGetFiltered()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/recurring_expenses?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testRecurringExpenseGet()
|
public function testRecurringExpenseGet()
|
||||||
{
|
{
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
|
@ -52,6 +52,17 @@ class RecurringInvoiceTest extends TestCase
|
|||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testRecurringGetStatus()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/recurring_invoices?client_status=active')
|
||||||
|
->assertStatus(200);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testPostRecurringInvoiceWithPlaceholderVariables()
|
public function testPostRecurringInvoiceWithPlaceholderVariables()
|
||||||
{
|
{
|
||||||
$line_items = [];
|
$line_items = [];
|
||||||
|
@ -47,6 +47,17 @@ class RecurringQuoteTest extends TestCase
|
|||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testRecurringQuoteListFilter()
|
||||||
|
{
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/recurring_quotes?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testRecurringQuoteList()
|
public function testRecurringQuoteList()
|
||||||
{
|
{
|
||||||
RecurringQuote::factory()->create(['user_id' => $this->user->id, 'company_id' => $this->company->id, 'client_id' => $this->client->id]);
|
RecurringQuote::factory()->create(['user_id' => $this->user->id, 'company_id' => $this->company->id, 'client_id' => $this->client->id]);
|
||||||
|
@ -50,6 +50,17 @@ class SubscriptionApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSubscriptionFilter()
|
||||||
|
{
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/subscriptions?filter=xx')
|
||||||
|
->assertStatus(200);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testSubscriptionsGet()
|
public function testSubscriptionsGet()
|
||||||
{
|
{
|
||||||
$product = Product::factory()->create([
|
$product = Product::factory()->create([
|
||||||
|
@ -34,6 +34,18 @@ class SystemLogApiTest extends TestCase
|
|||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testFilters()
|
||||||
|
{
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/system_logs?type_id=3')
|
||||||
|
->assertStatus(200);;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testSystemLogRoutes()
|
public function testSystemLogRoutes()
|
||||||
{
|
{
|
||||||
$sl = [
|
$sl = [
|
||||||
|
@ -44,6 +44,17 @@ class TaskApiTest extends TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function testTaskListClientStatus()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/tasks?client_status=invoiced')
|
||||||
|
->assertStatus(200);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testTaskLockingGate()
|
public function testTaskLockingGate()
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -41,6 +41,16 @@ class TaskStatusApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testTaskStatusGetFilter()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/task_statuses?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testTaskStatusPost()
|
public function testTaskStatusPost()
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -42,6 +42,16 @@ class TaxRateApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testTaxRatesGetFilter()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/tax_rates?filter=gst');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testTaxRatePost()
|
public function testTaxRatePost()
|
||||||
{
|
{
|
||||||
$rate_name = $this->faker->firstName();
|
$rate_name = $this->faker->firstName();
|
||||||
|
@ -42,6 +42,16 @@ class VendorApiTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testVendorGetFilter()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/vendors?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testAddVendorToInvoice()
|
public function testAddVendorToInvoice()
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -45,6 +45,16 @@ class WebhookAPITest extends TestCase
|
|||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testWebhookGetFilter()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get('/api/v1/webhooks?filter=xx');
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
}
|
||||||
|
|
||||||
public function testWebhookGetRoute()
|
public function testWebhookGetRoute()
|
||||||
{
|
{
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
|
Loading…
x
Reference in New Issue
Block a user