Browse Source

Make bank account listing test passed

pull/22/head
Nafies Luthfi 7 years ago
parent
commit
14c42eb186
  1. 10
      app/Entities/Invoices/BankAccount.php
  2. 18
      app/Http/Controllers/References/BankAccountsController.php
  3. 12
      database/factories/BankAccountFactory.php
  4. 35
      database/migrations/2018_10_30_215937_create_bank_accounts_table.php
  5. 1
      tests/Feature/References/ManageBankAccountsTest.php

10
app/Entities/Invoices/BankAccount.php

@ -0,0 +1,10 @@
<?php
namespace App\Entities\Invoices;
use Illuminate\Database\Eloquent\Model;
class BankAccount extends Model
{
protected $fillable = ['name', 'number', 'account_name', 'description'];
}

18
app/Http/Controllers/References/BankAccountsController.php

@ -5,6 +5,7 @@ namespace App\Http\Controllers\References;
use Illuminate\Http\Request;
use App\Entities\Options\Option;
use App\Http\Controllers\Controller;
use App\Entities\Invoices\BankAccount;
/**
* Bank Account Controller.
@ -21,21 +22,10 @@ class BankAccountsController extends Controller
public function index()
{
$editableBankAccount = null;
$bankAccounts = Option::where('key', 'bank_accounts')->first();
if (!is_null($bankAccounts)) {
$bankAccounts = $bankAccounts->value;
$bankAccounts = json_decode($bankAccounts, true);
$bankAccounts = collect($bankAccounts)
->map(function ($bankAccount) {
return (object) $bankAccount;
});
$bankAccounts = BankAccount::all();
if (in_array(request('action'), ['edit', 'delete']) && request('id') != null) {
$editableBankAccount = $bankAccounts[request('id')];
}
} else {
$bankAccounts = collect([]);
if (in_array(request('action'), ['edit', 'delete']) && request('id') != null) {
$editableBankAccount = BankAccount::find(request('id'));
}
return view('bank-accounts.index', compact('bankAccounts', 'editableBankAccount'));

12
database/factories/BankAccountFactory.php

@ -0,0 +1,12 @@
<?php
use Faker\Generator as Faker;
use App\Entities\Invoices\BankAccount;
$factory->define(BankAccount::class, function (Faker $faker) {
return [
'name' => 'Bank '.strtoupper(str_random(4)),
'number' => str_random(10),
'account_name' => $faker->name,
];
});

35
database/migrations/2018_10_30_215937_create_bank_accounts_table.php

@ -0,0 +1,35 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateBankAccountsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('bank_accounts', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 60);
$table->string('number', 30);
$table->string('account_name', 60);
$table->string('description')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('bank_accounts');
}
}

1
tests/Feature/References/ManageBankAccountsTest.php

@ -3,6 +3,7 @@
namespace Tests\Feature\References;
use Tests\TestCase;
use App\Entities\Invoices\BankAccount;
use Illuminate\Foundation\Testing\DatabaseMigrations;
/**

Loading…
Cancel
Save