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 }