Fixes for tests

This commit is contained in:
David Bomba 2019-09-11 12:01:49 +10:00
parent 42e54d0bd5
commit e329c24879
15 changed files with 50 additions and 51 deletions

View File

@ -41,7 +41,6 @@ class ClientSettings extends BaseSettings
public $payment_terms;
public $language_id;
public $currency_id;
public $precision;
public $default_task_rate;
public $send_reminders;

View File

@ -27,7 +27,7 @@ class CompanySettings extends BaseSettings
public $financial_year_start;
public $language_id;
public $currency_id;
public $precision;
public $show_currency_symbol;
public $show_currency_code;
@ -138,7 +138,6 @@ class CompanySettings extends BaseSettings
'entity' => Company::class,
'timezone_id' => config('ninja.i18n.timezone_id'),
'language_id' => config('ninja.i18n.language_id'),
'currency_id' => config('ninja.i18n.currency_id'),
'precision' => 2,
'payment_terms' => config('ninja.i18n.payment_terms'),
'datetime_format' => config('ninja.i18n.datetime_format'),

View File

@ -29,7 +29,7 @@ class ClientFactory
$client->country_id = 4;
$client->is_deleted = 0;
$client->client_hash = str_random(40);
$client->currency_id = config('ninja.i18n.currency_id');
$client->settings = new ClientSettings(ClientSettings::defaults());
$client_contact = ClientContactFactory::create($company_id, $user_id);

View File

@ -62,9 +62,9 @@ class InvoiceController extends Controller
})->editColumn('due_date', function ($invoice){
return $this->formatDate($invoice->due_date, $invoice->client->date_format());
})->editColumn('balance', function ($invoice) {
return Number::formatMoney($invoice->balance, $invoice->client->currency(), $invoice->client->country, $invoice->client->getMergedSettings());
return Number::formatMoney($invoice->balance, $invoice->client->currency, $invoice->client->country, $invoice->client->getMergedSettings());
})->editColumn('amount', function ($invoice) {
return Number::formatMoney($invoice->amount, $invoice->client->currency(), $invoice->client->country, $invoice->client->getMergedSettings());
return Number::formatMoney($invoice->amount, $invoice->client->currency, $invoice->client->country, $invoice->client->getMergedSettings());
})
->rawColumns(['checkbox', 'action', 'status_id'])
->make(true);
@ -125,14 +125,14 @@ class InvoiceController extends Controller
$invoices->filter(function ($invoice){
return $invoice->isPayable();
})->map(function ($invoice){
$invoice->balance = Number::formatMoney($invoice->balance, $invoice->client->currency(), $invoice->client->country, $invoice->client->getMergedSettings());
$invoice->balance = Number::formatMoney($invoice->balance, $invoice->client->currency, $invoice->client->country, $invoice->client->getMergedSettings());
$invoice->due_date = $this->formatDate($invoice->due_date, $invoice->client->date_format());
return $invoice;
});
$formatted_total = Number::formatMoney($total, auth()->user()->client->currency(), auth()->user()->client->country, auth()->user()->client->getMergedSettings());
$formatted_total = Number::formatMoney($total, auth()->user()->client->currency, auth()->user()->client->country, auth()->user()->client->getMergedSettings());
$payment_methods = auth()->user()->client->getPaymentMethods($total);

View File

@ -143,7 +143,8 @@ class Client extends BaseModel
public function currency()
{
return Currency::find($this->getMergedSettings()->currency_id);
return $this->belongsTo(Currency::class);
//return Currency::find($this->getMergedSettings()->currency_id);
}
public function getMergedSettings()

View File

@ -151,7 +151,7 @@ class CompanyGateway extends BaseModel
$fee = $this->calcGatewayFee($amount);
if($fee > 0 ){
$fee = Number::formatMoney(round($fee, 2), $client->currency(), $client->country(), $client->getMergedSettings());
$fee = Number::formatMoney(round($fee, 2), $client->currency, $client->country(), $client->getMergedSettings());
$label = ' - ' . $fee . ' ' . ctrans('texts.fee');
}

View File

@ -172,17 +172,6 @@ class Invoice extends BaseModel
return $this->client->getMergedSettings()->lock_sent_invoices;
}
/**
* Gets the currency from the settings object.
*
* @return Eloquent Model The currency.
*/
public function getCurrency()
{
return Currency::find($this->settings->currency_id);
}
/**
* Determines if invoice overdue.
*

View File

@ -71,13 +71,11 @@ class Statics
$data = [];
$cached_tables = config('ninja.cached_tables');
foreach ($cached_tables as $name => $class) {
foreach (config('ninja.cached_tables') as $name => $class) {
$data[$name] = Cache::get($name);
}
Log::error($data);
// Log::error($data);
if ($locale) {

View File

@ -167,13 +167,13 @@ trait MakesInvoiceValues
// $data['$quantity'] = ;
// $data['$line_total'] = ;
// $data['$paid_to_date'] = ;
$data['$discount'] = Number::formatMoney($this->calc()->getTotalDiscount(), $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$subtotal'] = Number::formatMoney($this->calc()->getSubTotal(), $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$balance_due'] = Number::formatMoney($this->balance, $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$partial_due'] = Number::formatMoney($this->partial, $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$total'] = Number::formatMoney($this->calc()->getTotal(), $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$balance'] = Number::formatMoney($this->calc()->getBalance(), $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$taxes'] = Number::formatMoney($this->calc()->getTotalTaxes(), $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$data['$discount'] = Number::formatMoney($this->calc()->getTotalDiscount(), $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$subtotal'] = Number::formatMoney($this->calc()->getSubTotal(), $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$balance_due'] = Number::formatMoney($this->balance, $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$partial_due'] = Number::formatMoney($this->partial, $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$total'] = Number::formatMoney($this->calc()->getTotal(), $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$balance'] = Number::formatMoney($this->calc()->getBalance(), $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$taxes'] = Number::formatMoney($this->calc()->getTotalTaxes(), $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$data['$terms'] = $this->terms;
// $data['$your_invoice'] = ;
// $data['$quote'] = ;
@ -365,14 +365,14 @@ trait MakesInvoiceValues
foreach($items as $item)
{
$item->cost = Number::formatMoney($item->cost, $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$item->line_total = Number::formatMoney($item->line_total, $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$item->cost = Number::formatMoney($item->cost, $this->client->currency, $this->client->country, $this->client->getMergedSettings());
$item->line_total = Number::formatMoney($item->line_total, $this->client->currency, $this->client->country, $this->client->getMergedSettings());
if(isset($item->discount) && $item->discount > 0)
{
if($item->is_amount_discount)
$item->discount = Number::formatMoney($item->discount, $this->client->currency(), $this->client->country, $this->client->getMergedSettings());
$item->discount = Number::formatMoney($item->discount, $this->client->currency, $this->client->country, $this->client->getMergedSettings());
else
$item->discount = $item->discount . '%';
}
@ -403,7 +403,7 @@ trait MakesInvoiceValues
{
$data .= '<tr class="line_taxes">';
$data .= '<td>'. $tax['name'] .'</td>';
$data .= '<td>'. Number::formatMoney($tax['total'], $this->client->currency(), $this->client->country, $this->client->getMergedSettings()) .'</td></tr>';
$data .= '<td>'. Number::formatMoney($tax['total'], $this->client->currency, $this->client->country, $this->client->getMergedSettings()) .'</td></tr>';
}
return $data;

View File

@ -40,7 +40,7 @@ return [
'i18n' => [
'timezone_id' => env('DEFAULT_TIMEZONE', 15),
'country_id' => env('DEFAULT_COUNTRY', 840), // United Stated
'currency_id' => env('DEFAULT_CURRENCY', 1), //USD
'currency_id' => env('DEFAULT_CURRENCY', 1),
'language_id' => env('DEFAULT_LANGUAGE', 1), //en
'date_format' => env('DEFAULT_DATE_FORMAT', 'M j, Y'),
'date_picker_format' => env('DEFAULT_DATE_PICKER_FORMAT', 'M d, yyyy'),

View File

@ -21,6 +21,7 @@ $factory->define(App\Models\Client::class, function (Faker $faker) {
'city' => $faker->city,
'state' => $faker->state,
'postal_code' => $faker->postcode,
'currency_id' => 1,
'country_id' => 4,
'shipping_address1' => $faker->buildingNumber,
'shipping_address2' => $faker->streetAddress,

View File

@ -4,6 +4,7 @@ namespace Tests\Feature;
use App\Models\Account;
use App\Models\Client;
use App\Models\CompanyToken;
use App\Models\User;
use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Foundation\Testing\DatabaseTransactions;
@ -12,6 +13,7 @@ use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
use Tests\TestCase;
use Illuminate\Support\Facades\Log;
/**
* @test
@ -142,18 +144,37 @@ class LoginTest extends TestCase
'password' => \Hash::make('123456')
]);
$company = factory(\App\Models\Company::class)->make([
$company = factory(\App\Models\Company::class)->create([
'account_id' => $account->id,
'domain' => 'ninja.test',
]);
$account->default_company_id = $account->id;
$account->save();
$ct = CompanyToken::create([
'user_id' => $user->id,
'account_id' => $account->id,
'token' => str_random(64),
'name' => $user->first_name. ' '. $user->last_name,
'company_id' => $company->id,
]);
$user->companies()->attach($company->id, [
'account_id' => $account->id,
'is_owner' => 1,
'is_admin' => 1,
]);
$user->fresh();
$this->assertTrue($user->companies !== null);
$this->assertTrue($user->user_companies !== null);
$this->assertTrue($user->user_companies->first() !== null);
$this->assertTrue($user->user_companies->first()->account !== null);
$data = [
'email' => 'test@example.com',
'password' => '123456'

View File

@ -34,7 +34,7 @@ class CollectionMergingTest extends TestCase
public function testMergingCollection()
{
$payment_terms = collect(unserialize(CACHED_PAYMENT_TERMS));
$payment_terms = collect(config('ninja.payment_terms'));
$new_terms = $this->terms->map(function($term) {
return $term['num_days'];
@ -47,7 +47,7 @@ class CollectionMergingTest extends TestCase
public function testSortingCollection()
{
$payment_terms = collect(unserialize(CACHED_PAYMENT_TERMS));
$payment_terms = collect(config('ninja.payment_terms'));
$new_terms = $this->terms->map(function($term) {
return $term['num_days'];
@ -65,7 +65,7 @@ class CollectionMergingTest extends TestCase
public function testSortingCollectionLast()
{
$payment_terms = collect(unserialize(CACHED_PAYMENT_TERMS));
$payment_terms = collect(config('ninja.payment_terms'));
$new_terms = $this->terms->map(function($term) {
return $term['num_days'];

View File

@ -28,13 +28,6 @@ class CompanySettingsTest extends TestCase
}
public function testCurrencyId()
{
$this->assertEquals($this->company_settings->currency_id, 1);
}
public function testLanguageId()
{
@ -52,7 +45,7 @@ class CompanySettingsTest extends TestCase
public function testPropertyIsSet()
{
$this->assertTrue(isset($this->company_settings->currency_id));
$this->assertTrue(isset($this->company_settings->timezone_id));
}
}

View File

@ -46,7 +46,6 @@ class CompareObjectTest extends TestCase
$build_client_settings = $this->buildClientSettings();
$this->assertEquals($build_client_settings->timezone_id, 15);
$this->assertEquals($build_client_settings->currency_id, 1);
$this->assertEquals($build_client_settings->language_id, 1);
$this->assertEquals($build_client_settings->payment_terms, 1);
}
@ -56,7 +55,6 @@ class CompareObjectTest extends TestCase
$settings = ClientSettings::buildClientSettings(new CompanySettings(CompanySettings::defaults()), new ClientSettings(ClientSettings::defaults()));
$this->assertEquals($settings->timezone_id, 15);
$this->assertEquals($settings->currency_id, 1);
$this->assertEquals($settings->language_id, 1);
$this->assertEquals($settings->payment_terms, 1);
$this->assertEquals($settings->custom_taxes1, 'FALSE');