partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

UserPreferenceServiceTest.php (2284B)


      1 <?php
      2 
      3 namespace PartKeepr\AuthBundle\Tests\Services;
      4 
      5 use PartKeepr\AuthBundle\Entity\User;
      6 use PartKeepr\CoreBundle\Tests\WebTestCase;
      7 
      8 class UserPreferenceServiceTest extends WebTestCase
      9 {
     10     public function testBasics()
     11     {
     12         $service = $this->getContainer()->get('partkeepr.user_preference_service');
     13         $userService = $this->getContainer()->get('partkeepr.userservice');
     14 
     15         /**
     16          * @var User
     17          */
     18         $user = $userService->getProxyUser('admin', $userService->getBuiltinProvider(), true);
     19 
     20         $service->setPreference($user, 'foo', 'bar');
     21         $this->assertEquals('bar', $service->getPreferenceValue($user, 'foo'));
     22 
     23         $preferences = $service->getPreferences($user);
     24 
     25         $this->assertInternalType('array', $preferences);
     26 
     27         $this->assertArrayHasKey(0, $preferences);
     28         $this->assertEquals(get_class($preferences[0]), "PartKeepr\AuthBundle\Entity\UserPreference");
     29 
     30         $this->assertEquals('bar', $preferences[0]->getPreferenceValue());
     31         $this->assertEquals('foo', $preferences[0]->getPreferenceKey());
     32         $this->assertEquals($user, $preferences[0]->getUser());
     33 
     34         $preference = $service->getPreference($user, 'foo');
     35 
     36         $this->assertEquals(get_class($preference), "PartKeepr\AuthBundle\Entity\UserPreference");
     37 
     38         $this->assertEquals('bar', $preference->getPreferenceValue());
     39         $this->assertEquals('foo', $preference->getPreferenceKey());
     40         $this->assertEquals($user, $preference->getUser());
     41 
     42         $service->deletePreference($user, 'foo');
     43 
     44         $preferences = $service->getPreferences($user);
     45 
     46         $this->assertEquals(0, count($preferences));
     47     }
     48 
     49     public function testGetPreferenceException()
     50     {
     51         $service = $this->getContainer()->get('partkeepr.user_preference_service');
     52         $userService = $this->getContainer()->get('partkeepr.userservice');
     53 
     54         /**
     55          * @var User
     56          */
     57         $user = $this->getContainer()->get('partkeepr.userservice')->getProxyUser(
     58             'admin',
     59             $userService->getBuiltinProvider(),
     60             true
     61         );
     62 
     63         $this->setExpectedException("PartKeepr\AuthBundle\Exceptions\UserPreferenceNotFoundException");
     64         $service->getPreference($user, 'BLA');
     65     }
     66 }