/** * Returns a group instance. * * @param mixed $id * @param \Closure $callback * @return \Illuminate\Support\Collection */ public function group($id, Closure $callback = null) { if (!($group = $this->find($id))) { $this->put($id, $group = new Group($id)); } $group->executeCallback($callback); return $group; }
/** @test */ public function an_existing_permission_attributes_can_be_updated() { $this->group->permission('foo', function ($group) { $group->name = 'Foo'; }); $this->assertEquals('Foo', $this->group->permission('foo')->name); $group = $this->group->permission('foo'); $group->name = 'Fooo'; $this->assertEquals('Fooo', $this->group->permission('foo')->name); $group = $this->group->permission('foo', function ($group) { $group->name = 'Foooo'; }); $this->assertEquals('Foooo', $this->group->permission('foo')->name); }