Browse Source

Add coodinate and map_popup_content attribute

pull/3/head
Nafies Luthfi 7 years ago
parent
commit
3dc387bc7f
  1. 16
      app/Outlet.php
  2. 31
      tests/Unit/Models/OutletTest.php

16
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 .= '<div class="popup-content-row"><strong>'.__('outlet.name').':</strong><br>'.$this->name.'</div>';
$mapPopupContent .= '<div class="popup-content-row"><strong>'.__('outlet.coordinate').':</strong><br>'.$this->coordinate.'</div>';
return $mapPopupContent;
}
}

31
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 .= '<div class="popup-content-row"><strong>'.__('outlet.name').':</strong><br>'.$outlet->name.'</div>';
$mapPopupContent .= '<div class="popup-content-row"><strong>'.__('outlet.coordinate').':</strong><br>'.$outlet->coordinate.'</div>';
$this->assertEquals($mapPopupContent, $outlet->map_popup_content);
}
}
Loading…
Cancel
Save