mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-03 08:34:35 -04:00
Validation for task rate
This commit is contained in:
parent
897d31f89a
commit
957556b8d0
@ -55,7 +55,8 @@ class StoreTaskRequest extends Request
|
|||||||
}
|
}
|
||||||
|
|
||||||
$rules['hash'] = 'bail|sometimes|string|nullable';
|
$rules['hash'] = 'bail|sometimes|string|nullable';
|
||||||
|
$rules['rate'] = 'bail|numeric';
|
||||||
|
|
||||||
$rules['time_log'] = ['bail',function ($attribute, $values, $fail) {
|
$rules['time_log'] = ['bail',function ($attribute, $values, $fail) {
|
||||||
|
|
||||||
if(is_string($values)) {
|
if(is_string($values)) {
|
||||||
@ -123,6 +124,8 @@ class StoreTaskRequest extends Request
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$input['rate'] = isset($input['rate']) ? $input['rate'] : 0;
|
||||||
|
|
||||||
if(!isset($input['time_log']) || empty($input['time_log']) || $input['time_log'] == '{}') {
|
if(!isset($input['time_log']) || empty($input['time_log']) || $input['time_log'] == '{}') {
|
||||||
$input['time_log'] = json_encode([]);
|
$input['time_log'] = json_encode([]);
|
||||||
}
|
}
|
||||||
|
@ -12,13 +12,14 @@
|
|||||||
|
|
||||||
namespace Tests\Feature\Bank;
|
namespace Tests\Feature\Bank;
|
||||||
|
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Tests\MockAccountData;
|
||||||
use App\Models\BankIntegration;
|
use App\Models\BankIntegration;
|
||||||
use App\Models\BankTransaction;
|
use App\Models\BankTransaction;
|
||||||
use App\Models\BankTransactionRule;
|
use App\Models\BankTransactionRule;
|
||||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
use Tests\MockAccountData;
|
use Illuminate\Routing\Middleware\ThrottleRequests;
|
||||||
use Tests\TestCase;
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||||
|
|
||||||
class BankTransactionRuleTest extends TestCase
|
class BankTransactionRuleTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -38,6 +39,54 @@ class BankTransactionRuleTest extends TestCase
|
|||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function testMatchCreditOnInvoiceNumber()
|
||||||
|
{
|
||||||
|
|
||||||
|
$bi = BankIntegration::factory()->create([
|
||||||
|
'company_id' => $this->company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'account_id' => $this->account->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$hash = md5(time());
|
||||||
|
|
||||||
|
$bt = BankTransaction::factory()->create([
|
||||||
|
'bank_integration_id' => $bi->id,
|
||||||
|
'company_id' => $this->company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'description' => $hash,
|
||||||
|
'base_type' => 'CREDIT',
|
||||||
|
'amount' => 100
|
||||||
|
]);
|
||||||
|
|
||||||
|
$br = BankTransactionRule::factory()->create([
|
||||||
|
'company_id' => $this->company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'matches_on_all' => false,
|
||||||
|
'auto_convert' => true,
|
||||||
|
'applies_to' => 'CREDIT',
|
||||||
|
'rules' => [
|
||||||
|
[
|
||||||
|
'search_key' => '$invoice.number',
|
||||||
|
'operator' => 'is',
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
|
$bt = $bt->refresh();
|
||||||
|
|
||||||
|
$debit_rules = $bt->company->debit_rules();
|
||||||
|
|
||||||
|
$bt->service()->processRules();
|
||||||
|
|
||||||
|
$bt = $bt->fresh();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testMatchingWithStripos()
|
public function testMatchingWithStripos()
|
||||||
{
|
{
|
||||||
$bt_value = strtolower(str_replace(" ", "", 'hello soldier'));
|
$bt_value = strtolower(str_replace(" ", "", 'hello soldier'));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user