mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 19:51:09 -04:00
solve unit tests
This commit is contained in:
@ -8,10 +8,10 @@ beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
});
|
||||
|
||||
test('company has one customer', function () {
|
||||
$company = Company::factory()->hasCustomer()->create();
|
||||
test('company has many customers', function () {
|
||||
$company = Company::factory()->hasCustomers()->create();
|
||||
|
||||
$this->assertTrue($company->customer()->exists());
|
||||
$this->assertTrue($company->customers()->exists());
|
||||
});
|
||||
|
||||
test('company has many company setings', function () {
|
||||
|
||||
@ -16,7 +16,7 @@ test('an exchange rate log belongs to company', function () {
|
||||
|
||||
test('add exchange rate log', function () {
|
||||
$expense = Expense::factory()->create();
|
||||
$response = ExchangeRateLog::addExchangeRateLog($expense, $expense->currency_id);
|
||||
$response = ExchangeRateLog::addExchangeRateLog($expense);
|
||||
|
||||
$this->assertDatabaseHas('exchange_Rate_logs', [
|
||||
'exchange_rate' => $response->exchange_rate,
|
||||
|
||||
@ -10,8 +10,6 @@ use Illuminate\Support\Facades\Artisan;
|
||||
beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'UnitSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'PaymentMethodSeeder', '--force' => true]);
|
||||
});
|
||||
|
||||
test('invoice has many invoice items', function () {
|
||||
@ -114,7 +112,7 @@ test('update invoice', function () {
|
||||
array_push($newInvoice['items'], $item);
|
||||
array_push($newInvoice['taxes'], $tax);
|
||||
|
||||
$request = new Request();
|
||||
$request = new InvoicesRequest();
|
||||
|
||||
$request->replace($newInvoice);
|
||||
|
||||
@ -161,7 +159,7 @@ test('create items', function () {
|
||||
|
||||
$request->replace(['items' => $items ]);
|
||||
|
||||
Invoice::createItems($invoice, $request, $invoice->exchange_rate);
|
||||
Invoice::createItems($invoice, $request->items);
|
||||
|
||||
$this->assertDatabaseHas('invoice_items', [
|
||||
'invoice_id' => $invoice->id,
|
||||
@ -188,7 +186,7 @@ test('create taxes', function () {
|
||||
|
||||
$request->replace(['taxes' => $taxes ]);
|
||||
|
||||
Invoice::createTaxes($invoice, $request, $invoice->exchange_rate);
|
||||
Invoice::createTaxes($invoice, $request->taxes);
|
||||
|
||||
$this->assertDatabaseHas('taxes', [
|
||||
'invoice_id' => $invoice->id,
|
||||
|
||||
@ -10,7 +10,6 @@ use Illuminate\Support\Facades\Artisan;
|
||||
beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'UnitSeeder', '--force' => true]);
|
||||
});
|
||||
|
||||
test('an item belongs to unit', function () {
|
||||
|
||||
@ -6,8 +6,6 @@ use Illuminate\Support\Facades\Artisan;
|
||||
beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'UnitSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'PaymentMethodSeeder', '--force' => true]);
|
||||
});
|
||||
|
||||
test('payment method has many payment', function () {
|
||||
|
||||
@ -6,8 +6,6 @@ use Illuminate\Support\Facades\Artisan;
|
||||
beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'UnitSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'PaymentMethodSeeder', '--force' => true]);
|
||||
});
|
||||
|
||||
test('payment belongs to invoice', function () {
|
||||
|
||||
@ -8,7 +8,6 @@ use Laravel\Sanctum\Sanctum;
|
||||
beforeEach(function () {
|
||||
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
|
||||
Artisan::call('db:seed', ['--class' => 'UnitSeeder', '--force' => true]);
|
||||
|
||||
$user = User::where('role', 'super admin')->first();
|
||||
$this->withHeaders([
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\CompaniesRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('companies request validation rules', function () {
|
||||
$request = new CompaniesRequest();
|
||||
@ -9,8 +10,12 @@ test('companies request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
Rule::unique('companies'),
|
||||
'string'
|
||||
],
|
||||
'currency' => [
|
||||
'required'
|
||||
],
|
||||
'address.name' => [
|
||||
'nullable',
|
||||
],
|
||||
@ -27,7 +32,7 @@ test('companies request validation rules', function () {
|
||||
'nullable',
|
||||
],
|
||||
'address.country_id' => [
|
||||
'nullable',
|
||||
'required',
|
||||
],
|
||||
'address.zip' => [
|
||||
'nullable',
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\CompanyRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('company request validation rules', function () {
|
||||
$request = new CompanyRequest();
|
||||
@ -9,8 +10,9 @@ test('company request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
Rule::unique('companies')->ignore($request->header('company'), 'id'),
|
||||
],
|
||||
'country_id' => [
|
||||
'address.country_id' => [
|
||||
'required',
|
||||
],
|
||||
],
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\CustomerRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('customer request validation rules', function () {
|
||||
$request = new CustomerRequest();
|
||||
@ -13,7 +14,7 @@ test('customer request validation rules', function () {
|
||||
'email' => [
|
||||
'email',
|
||||
'nullable',
|
||||
'unique:customers,email',
|
||||
Rule::unique('customers')->where('company_id', $request->header('company'))
|
||||
],
|
||||
'password' => [
|
||||
'nullable',
|
||||
|
||||
@ -19,7 +19,10 @@ test('estimate request validation rules', function () {
|
||||
],
|
||||
'estimate_number' => [
|
||||
'required',
|
||||
Rule::unique('estimates')->where('company_id', null)
|
||||
Rule::unique('estimates')->where('company_id', $request->header('company'))
|
||||
],
|
||||
'exchange_rate' => [
|
||||
'nullable'
|
||||
],
|
||||
'discount' => [
|
||||
'required',
|
||||
|
||||
@ -13,6 +13,12 @@ test('expense request validation rules', function () {
|
||||
'expense_category_id' => [
|
||||
'required',
|
||||
],
|
||||
'exchange_rate' => [
|
||||
'nullable'
|
||||
],
|
||||
'payment_method_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'amount' => [
|
||||
'required',
|
||||
],
|
||||
@ -22,6 +28,9 @@ test('expense request validation rules', function () {
|
||||
'notes' => [
|
||||
'nullable',
|
||||
],
|
||||
'currency_id' => [
|
||||
'required'
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
|
||||
@ -19,7 +19,10 @@ test('invoice request validation rules', function () {
|
||||
],
|
||||
'invoice_number' => [
|
||||
'required',
|
||||
Rule::unique('invoices')->where('company_id', null)
|
||||
Rule::unique('invoices')->where('company_id', $request->header('company'))
|
||||
],
|
||||
'exchange_rate' => [
|
||||
'nullable'
|
||||
],
|
||||
'discount' => [
|
||||
'required',
|
||||
|
||||
@ -10,8 +10,8 @@ test('payment method request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
Rule::unique('units')
|
||||
->where('payment_methods', $request->header('company')),
|
||||
Rule::unique('payment_methods')
|
||||
->where('company_id', $request->header('company')),
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
|
||||
@ -14,12 +14,15 @@ test('payment request validation rules', function () {
|
||||
'customer_id' => [
|
||||
'required',
|
||||
],
|
||||
'exchange_rate' => [
|
||||
'nullable'
|
||||
],
|
||||
'amount' => [
|
||||
'required',
|
||||
],
|
||||
'payment_number' => [
|
||||
'required',
|
||||
Rule::unique('payments')->where('company_id', null)
|
||||
Rule::unique('payments')->where('company_id', $request->header('company'))
|
||||
],
|
||||
'invoice_id' => [
|
||||
'nullable',
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\TaxTypeRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('tax type request validation rules', function () {
|
||||
$request = new TaxTypeRequest();
|
||||
@ -9,6 +10,8 @@ test('tax type request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
Rule::unique('tax_types')
|
||||
->where('company_id', $request->header('company'))
|
||||
],
|
||||
'percent' => [
|
||||
'required',
|
||||
|
||||
Reference in New Issue
Block a user