From ca17abce2d3963e266bee905ab084ddfa7e1ff18 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 30 Sep 2016 21:01:36 +0200 Subject: Create user config in one place Using a listener, user config is now created when a user: - is created from the command line - register (with or without email confirmation) - is created from the config panel --- .../RegistrationConfirmedListenerTest.php | 91 --------------------- .../EventListener/CreateConfigListenerTest.php | 93 ++++++++++++++++++++++ 2 files changed, 93 insertions(+), 91 deletions(-) delete mode 100644 tests/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListenerTest.php create mode 100644 tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListenerTest.php b/tests/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListenerTest.php deleted file mode 100644 index e45722fa..00000000 --- a/tests/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListenerTest.php +++ /dev/null @@ -1,91 +0,0 @@ -em = $this->getMockBuilder('Doctrine\ORM\EntityManager') - ->disableOriginalConstructor() - ->getMock(); - - $this->listener = new RegistrationConfirmedListener( - $this->em, - 'baggy', - 20, - 50, - 'fr' - ); - - $this->dispatcher = new EventDispatcher(); - $this->dispatcher->addSubscriber($this->listener); - - $this->request = Request::create('/'); - $this->response = Response::create(); - } - - public function testWithInvalidUser() - { - $user = new User(); - $user->setEnabled(false); - - $event = new FilterUserResponseEvent( - $user, - $this->request, - $this->response - ); - - $this->em->expects($this->never())->method('persist'); - $this->em->expects($this->never())->method('flush'); - - $this->dispatcher->dispatch( - FOSUserEvents::REGISTRATION_CONFIRMED, - $event - ); - } - - public function testWithValidUser() - { - $user = new User(); - $user->setEnabled(true); - - $event = new FilterUserResponseEvent( - $user, - $this->request, - $this->response - ); - - $config = new Config($user); - $config->setTheme('baggy'); - $config->setItemsPerPage(20); - $config->setRssLimit(50); - $config->setLanguage('fr'); - - $this->em->expects($this->once()) - ->method('persist') - ->will($this->returnValue($config)); - $this->em->expects($this->once()) - ->method('flush'); - - $this->dispatcher->dispatch( - FOSUserEvents::REGISTRATION_CONFIRMED, - $event - ); - } -} diff --git a/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php new file mode 100644 index 00000000..0cebd3e4 --- /dev/null +++ b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php @@ -0,0 +1,93 @@ +em = $this->getMockBuilder('Doctrine\ORM\EntityManager') + ->disableOriginalConstructor() + ->getMock(); + + $this->listener = new CreateConfigListener( + $this->em, + 'baggy', + 20, + 50, + 'fr', + 1 + ); + + $this->dispatcher = new EventDispatcher(); + $this->dispatcher->addSubscriber($this->listener); + + $this->request = Request::create('/'); + $this->response = Response::create(); + } + + public function testWithInvalidUser() + { + $user = new User(); + $user->setEnabled(false); + + $event = new FilterUserResponseEvent( + $user, + $this->request, + $this->response + ); + + $this->em->expects($this->never())->method('persist'); + $this->em->expects($this->never())->method('flush'); + + $this->dispatcher->dispatch( + FOSUserEvents::REGISTRATION_COMPLETED, + $event + ); + } + + public function testWithValidUser() + { + $user = new User(); + $user->setEnabled(true); + + $event = new FilterUserResponseEvent( + $user, + $this->request, + $this->response + ); + + $config = new Config($user); + $config->setTheme('baggy'); + $config->setItemsPerPage(20); + $config->setRssLimit(50); + $config->setLanguage('fr'); + $config->setReadingSpeed(1); + + $this->em->expects($this->once()) + ->method('persist') + ->will($this->returnValue($config)); + $this->em->expects($this->once()) + ->method('flush'); + + $this->dispatcher->dispatch( + FOSUserEvents::REGISTRATION_COMPLETED, + $event + ); + } +} -- cgit v1.2.3