protected function getPersistence() { // Inicialização $persistence = new Accounts(); // Gerenciador de Serviços $serviceManager = Application::getApplication()->getServiceManager(); // Localizador de Serviços $serviceLocator = new ServiceManager(); // Configurações $persistence->setServiceLocator($serviceLocator); // Banco de Dados $db = $serviceManager->get('db'); $tbAccounts = $serviceManager->get('Balance\\Db\\TableGateway\\Accounts'); $tbPostings = $serviceManager->get('Balance\\Db\\TableGateway\\Postings'); // Configurações $serviceLocator->setService('db', $db)->setService('Balance\\Db\\TableGateway\\Accounts', $tbAccounts); // Limpeza $tbPostings->delete(function () { // Remover Todos }); $tbAccounts->delete(function () { // Remover Todos }); // Conta A $accountA = new Parameters(['type' => AccountType::ACTIVE, 'name' => 'A', 'description' => '', 'accumulate' => BooleanType::NO]); // Salvar $persistence->save($accountA); // Conta B $accountB = new Parameters(['type' => AccountType::ACTIVE, 'name' => 'B', 'description' => '', 'accumulate' => BooleanType::NO]); // Salvar $persistence->save($accountB); // Conta C $accountC = new Parameters(['type' => AccountType::ACTIVE, 'name' => 'C', 'description' => '', 'accumulate' => BooleanType::NO]); // Salvar $persistence->save($accountC); // Salvamento $this->data = ['A' => $accountA, 'B' => $accountB, 'C' => $accountC]; // Apresentação return $persistence; }
public function testAccountUpdateWithException() { // Erro Esperado $this->setExpectedException('Balance\\Model\\ModelException', 'Database Error'); // Inicialização $persistence = new Accounts(); // Gerenciador de Serviços $serviceManager = Application::getApplication()->getServiceManager(); // Localizador de Serviços $serviceLocator = new ServiceManager(); // Configurações $persistence->setServiceLocator($serviceLocator); // Configurações de Serviços $serviceLocator->setService('db', $serviceManager->get('db'))->setService('Balance\\Db\\TableGateway\\Accounts', $serviceManager->get('Balance\\Db\\TableGateway\\Accounts')); // Conta para Inserção $data = new Parameters(['type' => AccountType::ACTIVE, 'name' => 'Account A', 'description' => 'Description', 'accumulate' => BooleanType::NO]); // Salvar Dados $persistence->save($data); // Colocar um Tipo Inválido $data['type'] = 'UNKNOWN'; // Salvar Dados $persistence->save($data); }