/** * @depends testCreateResource */ public function testCreateRelatedModels() { // $this->markTestSkipped('Db table field types has to be resolved with model field types'); $resourceModel = AclResource::findFirstByName('CreatedResource'); $roleModel = new AclRole(); $roleModel->create(['name' => 'guest', 'description' => '', 'removable' => 1]); $this->assertEquals(AclRole::DIRTY_STATE_PERSISTENT, $roleModel->getDirtyState()); $accessModel = new AclResourceAccess(); $accessModel->create(['acl_resource_id' => $resourceModel->id, 'name' => 'index', 'description' => '', 'inherit' => '']); $this->assertEquals(AclResourceAccess::DIRTY_STATE_PERSISTENT, $accessModel->getDirtyState()); $aclModel = new AclAccessList(); $aclModel->create(['acl_role_id' => $roleModel->id, 'acl_resource_id' => $resourceModel->id, 'acl_resource_access_id' => $accessModel->id, 'allowed' => Acl::ALLOW]); $this->assertEquals(AclAccessList::DIRTY_STATE_PERSISTENT, $aclModel->getDirtyState()); }
public function testGetAccessLists() { $resourceModel = new AclResource(); $result = $resourceModel->save(['name' => 'getAccessListsResource', 'description' => 'sna fu bar', 'scope' => '']); $this->assertTrue($result); $this->assertEquals(AclResource::DIRTY_STATE_PERSISTENT, $resourceModel->getDirtyState()); $accessModel = new AclResourceAccess(); $accessModel->initialize(); $result = $accessModel->create(['acl_resource_id' => $resourceModel->id, 'name' => 'index', 'description' => '', 'inherit' => '']); $this->assertTrue($result); $this->assertEquals(AclResourceAccess::DIRTY_STATE_PERSISTENT, $accessModel->getDirtyState()); $roleModel = new AclRole(); $status = $roleModel->create(['name' => 'getAccessListsRole', 'description' => '', 'removable' => 1]); $this->assertTrue($result); $this->assertEquals(AclRole::DIRTY_STATE_PERSISTENT, $roleModel->getDirtyState()); $aclModel = new AclAccessList(); $result = $aclModel->create(['acl_role_id' => $roleModel->id, 'acl_resource_id' => $resourceModel->id, 'acl_resource_access_id' => $accessModel->id, 'allowed' => Acl::ALLOW]); $this->assertTrue($result); $this->assertEquals(AclAccessList::DIRTY_STATE_PERSISTENT, $aclModel->getDirtyState()); $list = $accessModel->getAccessLists(); $this->assertCount(1, $list); $this->assertArrayHasKey(0, $list); $this->assertSame($list[0]->id, $aclModel->id); }