/** * Create a registration. * * @param Request $request * * @return Response */ public function doRegistration(Request $request) { try { $this->validator->isValidUserName(); $this->validator->isValidPassword(); $user = $this->userBuilder->getUser($request->getUserName(), $request->getPassword()); $userId = $this->userDao->create($user); return new Response('yes', '201', $userId); } catch (InvalidUserNameException $exception) { return new Response('no', '601', ''); } catch (InvalidPasswordException $exception) { return new Response('no', '602', ''); } catch (UserExistsException $exception) { return new Response('no', '701', ''); } catch (Exception $exception) { return new Response('no', '500', ''); } }
public function testRegistration() { $request = new Request('bandi', 'jelszo', 'jelszo'); $user = new User($request->getUserName(), $request->getPassword(), $request->getPassword() . UserBuilder::$salt); $validator = $this->getMockBuilder('Kata\\Registration\\Validator')->disableOriginalConstructor()->getMock(); $validator->expects($this->once())->method('isValidUserName')->willReturn(true); $validator->expects($this->once())->method('isValidPassword')->willReturn(true); $userBuilder = $this->getMock('Kata\\Registration\\UserBuilder'); $userBuilder->expects($this->once())->method('getUser')->willReturn($user); $userDao = $this->getMock('Kata\\Registration\\UserDao2'); $userDao->expects($this->once())->method('create')->willReturn($request->getUserName()); $controller = new RegistrationController($validator, $userBuilder, $userDao); $response = $controller->doRegistration($request); $this->assertEquals($response->getSuccess(), 'yes'); $this->assertEquals($response->getResultCode(), 201); $this->assertEquals($response->getResultId(), $request->getUserName()); }