Refactoring of model for testing purpose

mossme89

New Member
I want to refactor my model so I can properly write a unit test for it. But I have some dependencies. Can anybody point me in the right direction how I can remove these dependencies?\[code\]class Customer{ public function save(array $data, $id = NULL) { // create or update if (empty($id)) { $customer = new \Entities\Customer(); } else { $customer = $this->findById((int) $id); } $birthday = new DateTime(); list($day, $month, $year) = explode("/", $data['birthday']); $birthday->setDate($year, $month, $day); $customer->setFirstName($data['firstName']); $customer->setLastName($data['lastName']); $customer->setCompany($data['company']); $languageModel = new Application_Model_Language(); $customer->setLanguage($languageModel->findById($data['language'])); $resellerShopModel = new Application_Model_ResellerShop(); $customer->setResellerShop($resellerShopModel->findById($data['resellerShop'])); $customer->setEmail($data['email']); $customer->setPhone($data['phone']); $customer->setGender($data['gender']); $customer->setBirthday($birthday); $customer->setType($data['type']); $customerSectorModel = new Application_Model_CustomerSector(); $customer->setSector($customerSectorModel->findById($data['sector'])); $customerReferenceModel = new Application_Model_CustomerReference(); $customer->setReference($customerReferenceModel->findById($data['reference'])); if (isset($data['password'])) { $customer->setPassword($this->_hashPassword($data['password'])); } return $customer; }}\[/code\]
 
Back
Top