public function testDefaultSimpleQuery() { $count = EQM::queryByArray(['entity' => 'Company'])->count(); $result = EQM::query('Company')->result(); $this->assertEquals($count, $result->count()); $resultArray = $result->all(); $this->assertTrue($resultArray instanceof \ArrayAccess); $this->assertEquals($count, count($resultArray)); $this->assertEquals('Company', get_class($resultArray[0])); }
public function testUpdateClassicWithNamespace() { EQM::activateConnection('second_db'); $c = EQM::queryByArray(['entity' => Bootstrap\Company::class, 'query' => 'id = ?', 'params' => CNT_COMPANY + 1])->one(); $c->remark = $c->remark . ' no from testUpdate(Company)'; EQM::update($c); $this->assertEquals($c->remark, EQM::queryByArray(['entity' => Bootstrap\Company::class, 'query' => 'id = ?', 'params' => $c->id])->one()->remark); $p = EQM::queryByArray(['entity' => Bootstrap\Project::class, 'query' => 'id = ?', 'params' => $c->id . '_PROJECT'])->one(); $p->name = $p->name . ' from testUpdate(Project)'; EQM::update($p); $this->assertEquals($p->name, EQM::queryByArray(['entity' => Bootstrap\Project::class, 'query' => 'id = ?', 'params' => $p->id])->one()->name); $pa = EQM::queryByArray(['entity' => Bootstrap\ProjectActivity::class, 'query' => 'id = ? AND projectId = ?', 'params' => [999, $p->id]])->one(); $pa->name = $pa->name . ' from testUpdate(ProjectActivity)'; EQM::update($pa); $this->assertEquals($pa->name, EQM::queryByArray(['entity' => Bootstrap\ProjectActivity::class, 'query' => 'id = ? AND projectId = ?', 'params' => [$pa->id, $p->id]])->one()->name); EQM::activateConnection(); }
public function testComplex() { $companies = EQM::queryByArray(['entity' => 'Company']); $count = $companies->count(); EQM::begin(); foreach ($companies as $company) { $company->remark = 'Transaction remark'; EQM::update($company); $projects = EQM::queryByArray(['entity' => Project::class, 'query' => 'id = ?', 'params' => $company->id]); foreach ($projects as $project) { $project->value = 999.99; EQM::update($project); } } EQM::rollBack(); $companyCount = EQM::queryByArray(['entity' => 'Company'])->count(); $this->assertEquals($count, $companyCount); $companies = EQM::queryByArray(['entity' => 'Company', 'query' => 'remark = ?', 'params' => 'Transaction remark']); $this->assertEquals(0, $companies->count()); }
public function testDeleteClassicWithNamespace() { EQM::activateConnection('second_db'); $companies = EQM::queryByArray(['entity' => Bootstrap\Company::class, 'order' => 'id']); $companiesCount = $companies->count(); $company = $companies->one(); $projects = EQM::queryByArray(['entity' => Bootstrap\Project::class, 'query' => 'Project.companyId = ?', 'params' => $company->id]); $projectsCount = $projects->count(); $project = $projects->one(); $projectActivites = EQM::queryByArray(['entity' => Bootstrap\ProjectActivity::class, 'query' => 'ProjectActivity.projectId = ?', 'params' => $project->id]); $projectActivitesCount = $projectActivites->count(); foreach ($projectActivites as $projectActivity) { EQM::delete($projectActivity); } $projectActivites = EQM::queryByArray(['entity' => Bootstrap\ProjectActivity::class, 'query' => 'ProjectActivity.projectId = ?', 'params' => $project->id]); $this->assertEquals(0, $projectActivites->count()); EQM::delete($project); $projects = EQM::queryByArray(['entity' => Bootstrap\Project::class, 'query' => 'Project.companyId = ?', 'params' => $company->id]); $this->assertEquals($projectsCount - 1, $projects->count()); EQM::activateConnection(); }
public function testInsertClassicWithNamespace() { EQM::activateConnection('second_db'); $c = new Bootstrap\Company(); $c->name = 'A Company from testInsert()'; $c->remark = 'A remark for A Company from testInsert()'; EQM::insert($c); $this->assertEquals(CNT_COMPANY + 2, $c->id); $p = new Bootstrap\Project(); $p->id = $c->id . '_PROJECT'; $p->companyId = $c->id; $p->name = 'A project with the id ' . $p->id; $p->value = 1234.56; EQM::insert($p); $this->assertEquals($p->id, EQM::queryByArray(['entity' => Bootstrap\Project::class, 'query' => 'id = ?', 'params' => $p->id])->one()->id); $pa = new Bootstrap\ProjectActivity(); $pa->id = 999; $pa->projectId = $p->id; $pa->name = 'Activity for ' . $p->id . ' with ' . $pa->id; EQM::insert($pa); $this->assertEquals($pa->id, EQM::queryByArray(['entity' => Bootstrap\ProjectActivity::class, 'query' => 'id = ? AND projectId = ?', 'params' => [$pa->id, $p->id]])->one()->id); EQM::activateConnection(); }
public function testQueryWithOrder() { $this->assertEquals(CNT_COMPANY, EQM::queryByArray(['entity' => \Bootstrap\Project::class, 'order' => 'companyId DESC'])->one()->companyId); $this->assertEquals(CNT_COMPANY, EQM::queryByArray(['entity' => AnotherCompany::class, 'order' => 'AnotherCompany.id DESC'])->one()->id); $this->assertEquals(1, EQM::queryByArray(['entity' => \Bootstrap\Project::class, 'order' => 'companyId'])->one()->companyId); }