solve unit tests

This commit is contained in:
harshjagad20
2021-12-01 13:25:24 +05:30
parent f57fa41640
commit 88bfb38b56
33 changed files with 205 additions and 219 deletions

View File

@ -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 () {

View File

@ -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,

View File

@ -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,

View File

@ -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 () {

View File

@ -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 () {

View File

@ -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 () {

View File

@ -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([

View File

@ -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',

View File

@ -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',
],
],

View File

@ -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',

View File

@ -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',

View File

@ -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()
);

View File

@ -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',

View File

@ -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()

View File

@ -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',

View File

@ -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',