/** * Test all method * * @return null */ public function testAll() { $users = User::all(); $user = $users->next(); $this->assertEquals("Eustaquio Rangel", $user->name); $user = $users->next(); $this->assertEquals("Rangel, Eustaquio", $user->name); echo "checking all users ...\n"; $count = 0; foreach (User::all() as $user) { echo "user: "******"\n"; $count++; } $this->assertEquals(2, $count); $count = 0; $pos = 1; foreach (Bill::all() as $bill) { $this->assertEquals("Bill #{$pos}", $bill->description); $this->assertEquals($pos, $bill->value); $pos++; $count++; } $this->assertEquals(10, $count); }
/** * @before _secure */ public function billing() { $this->seo(array("title" => "Billing")); $view = $this->getActionView(); $bills = Bill::all(["org_id = ?" => $this->org->id], [], "created", "desc"); $invoice = RM::get("invoice", "current"); $imp_cost = 0; $click_cost = 0; switch ($invoice) { case 'current': $start = RM::get('start', date('Y-m-01')); $end = RM::get('end', date('Y-m-d')); $dateQuery = Utils::dateQuery(['start' => $start, 'end' => $end]); // find advertiser performances to get clicks and impressions $performances = \Performance::overall($dateQuery, User::all(['org_id' => $this->org->_id, 'type' => 'advertiser'], ['_id'])); $clicks = $performances['total_clicks']; $impressions = $performances['total_impressions']; break; default: $bill = Bill::first(["org_id = ?" => $this->org->id, "id = ?" => $invoice]); $start = $bill->start; $end = $bill->end; $clicks = $bill->clicks; $impressions = $bill->impressions; break; } if ($clicks > 1000) { $click_cost = 0.001 * $clicks * $this->org->meta["bill"]["tcc"]; } if ($impressions > 1000000) { $imp_cost = 0.001 * 0.001 * $impressions * $this->org->meta["bill"]["mic"]; } $view->set(['bills' => $bills, 'clicks' => ['total' => $clicks, 'cost' => $click_cost], 'start' => $start, 'end' => $end, 'invoice' => $invoice, 'impressions' => ['total' => $impressions, 'cost' => $imp_cost]]); }