public function test_accounts_manage()
 {
     // Create user
     $account = new pybilling\Account(array('name' => 'Dmitry'));
     $account->save();
     $this->assertTrue($account->id > 0);
     $this->assertEquals('Dmitry', $account->name);
     $this->assertEquals(0, $account->balance);
     $this->assertEquals(0, $account->bonus_balance);
     $this->assertEquals('RU', $account->language);
     // Update user
     $account->name = 'Dmitry Shilyaev';
     $account->language = 'EN';
     $account->balance = 100;
     $account->bonus_balance = 200;
     $account->save();
     // User details
     $account_upd = pybilling\Account::get($account->id);
     $this->assertEquals($account->id, $account_upd->id);
     $this->assertEquals('Dmitry Shilyaev', $account_upd->name);
     $this->assertEquals(0, $account_upd->balance);
     $this->assertEquals(0, $account_upd->bonus_balance);
     $this->assertEquals('EN', $account_upd->language);
     // Delete user
     $account_upd->delete();
     try {
         $account_upd = pybilling\Account::get($account_upd->id);
         $this->fail("Waiting for the exception.");
     } catch (Exception $ex) {
         $this->assertEquals(404, $ex->getCode());
     }
 }
 public function test_accounts_manage()
 {
     // Create user
     $account = new pybilling\Account(array('name' => 'Dmitry'));
     $account->save();
     # Create
     $personal_data = new pybilling\PersonalData(array('fio' => "Zbignev Bj Жезинский", 'birth' => '1983-09-05', 'postal_index' => 610001, 'postal_address' => 'Address Postal', 'phone' => '+7 495 6680903', 'passport' => '8734 238764234 239874', 'email' => '*****@*****.**', 'account' => $account->id, 'type' => 'PersonalDataPerson'));
     $personal_data->save();
     $this->assertEquals('610001', $personal_data->postal_index);
     $this->assertEquals('Zbignev Bj Zhezinskij', $personal_data->fio_lat);
     $this->assertEquals('Zbignev Bj Жезинский', $personal_data->fio);
     $this->assertEquals('PersonalDataPerson', $personal_data->type);
     $this->assertEquals('+7 495 6680903', $personal_data->phone);
     $this->assertEquals($account->id, $personal_data->account);
     # Update
     $personal_data->fio = 'Дмитрий Шиляев';
     $personal_data->save();
     $personal_data_upd = pybilling\PersonalData::get($personal_data->id);
     $this->assertEquals($personal_data->id, $personal_data_upd->id);
     $this->assertEquals('Zbignev Bj Zhezinskij', $personal_data_upd->fio_lat);
     $this->assertEquals('Дмитрий Шиляев', $personal_data_upd->fio);
     $this->assertEquals('PersonalDataPerson', $personal_data_upd->type);
     $this->assertEquals('+7 495 6680903', $personal_data_upd->phone);
     $this->assertEquals($account->id, $personal_data_upd->account);
     // Delete
     $personal_data_upd->delete();
     try {
         pybilling\PersonalData::get($personal_data_upd->id);
         $this->fail("Waiting for the exception.");
     } catch (Exception $ex) {
         $this->assertEquals(404, $ex->getCode());
     }
 }
 public function test_accounts_manage()
 {
     // Create user
     $account = new pybilling\Account(array('name' => 'Dmitry'));
     $account->save();
     # Create
     $aContact = new pybilling\AccountContact(array('name' => 'home', 'address' => '*****@*****.**', 'type' => 'email', 'account' => $account->id));
     $aContact->save();
     $this->assertEquals('home', $aContact->name);
     $this->assertEquals('email', $aContact->type);
     $this->assertEquals('*****@*****.**', $aContact->address);
     $this->assertEquals($account->id, $aContact->account);
     # Update
     $aContact->address = '*****@*****.**';
     $aContact->name = 'work';
     $aContact->save();
     $aContact_upd = pybilling\AccountContact::get($aContact->id);
     $this->assertEquals($aContact->id, $aContact_upd->id);
     $this->assertEquals('work', $aContact_upd->name);
     $this->assertEquals('email', $aContact_upd->type);
     $this->assertEquals('*****@*****.**', $aContact_upd->address);
     $this->assertEquals($account->id, $aContact_upd->account);
     // Delete contacts
     $aContact_upd->delete();
     try {
         pybilling\AccountContact::get($aContact_upd->id);
         $this->fail("Waiting for the exception.");
     } catch (Exception $ex) {
         $this->assertEquals(404, $ex->getCode());
     }
 }