From 3dc387bc7f610e3abc2b2be00ef9f2a782ad486b Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Wed, 12 Dec 2018 22:24:43 +0800 Subject: [PATCH] Add coodinate and map_popup_content attribute --- app/Outlet.php | 16 ++++++++++++++++ tests/Unit/Models/OutletTest.php | 31 ++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/app/Outlet.php b/app/Outlet.php index 2529e66..35e7541 100644 --- a/app/Outlet.php +++ b/app/Outlet.php @@ -28,4 +28,20 @@ class Outlet extends Model { return $this->belongsTo(User::class); } + + public function getCoordinateAttribute() + { + if ($this->latitude && $this->longitude) { + return $this->latitude.', '.$this->longitude; + } + } + + public function getMapPopupContentAttribute() + { + $mapPopupContent = ''; + $mapPopupContent .= ''; + $mapPopupContent .= ''; + + return $mapPopupContent; + } } diff --git a/tests/Unit/Models/OutletTest.php b/tests/Unit/Models/OutletTest.php index 0f7f384..5c54885 100644 --- a/tests/Unit/Models/OutletTest.php +++ b/tests/Unit/Models/OutletTest.php @@ -4,15 +4,15 @@ namespace Tests\Unit\Models; use App\User; use App\Outlet; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Tests\BrowserKitTest as TestCase; +use Illuminate\Foundation\Testing\DatabaseMigrations; class OutletTest extends TestCase { use DatabaseMigrations; /** @test */ - public function a_outlet_has_name_link_attribute() + public function an_outlet_has_name_link_attribute() { $outlet = factory(Outlet::class)->create(); @@ -28,11 +28,36 @@ class OutletTest extends TestCase } /** @test */ - public function a_outlet_has_belongs_to_creator_relation() + public function an_outlet_has_belongs_to_creator_relation() { $outlet = factory(Outlet::class)->make(); $this->assertInstanceOf(User::class, $outlet->creator); $this->assertEquals($outlet->creator_id, $outlet->creator->id); } + + /** @test */ + public function an_outlet_has_coordinate_attribute() + { + $outlet = factory(Outlet::class)->make(['latitude' => '-3.333333', 'longitude' => '114.583333']); + $this->assertEquals($outlet->latitude.', '.$outlet->longitude, $outlet->coordinate); + + $outlet = factory(Outlet::class)->make(['latitude' => null, 'longitude' => null]); + $this->assertNull($outlet->coordinate); + + $outlet = factory(Outlet::class)->make(['latitude' => null, 'longitude' => '114.583333']); + $this->assertNull($outlet->coordinate); + } + + /** @test */ + public function an_outlet_has_map_popup_content_attribute() + { + $outlet = factory(Outlet::class)->make(['lat' => '-3.333333', 'long' => '114.583333']); + + $mapPopupContent = ''; + $mapPopupContent .= ''; + $mapPopupContent .= ''; + + $this->assertEquals($mapPopupContent, $outlet->map_popup_content); + } }