@@ -70,6 +70,31 @@ public function testGetAndGetAllProperties() {
7070 $ this ->assertEquals (array_values ($ properties ), \iterator_to_array ($ account ->getAllProperties ()));
7171 }
7272
73+ public function testSetJsonProperties () {
74+ $ user = $ this ->createMock (IUser::class);
75+ $ properties = [
76+ IAccountManager::PROPERTY_DISPLAYNAME => new AccountProperty (IAccountManager::PROPERTY_DISPLAYNAME , 'Steve ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
77+ IAccountManager::PROPERTY_ADDRESS => new AccountProperty (IAccountManager::PROPERTY_ADDRESS , '123 Acorn Avenue ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
78+ IAccountManager::PROPERTY_WEBSITE => new AccountProperty (IAccountManager::PROPERTY_WEBSITE , 'https://www.example.org ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::VERIFIED , '' ),
79+ IAccountManager::PROPERTY_EMAIL => new AccountProperty (IAccountManager::PROPERTY_EMAIL , 'steve@earth.com ' , IAccountManager::SCOPE_PUBLISHED , IAccountManager::VERIFICATION_IN_PROGRESS , '' ),
80+ IAccountManager::PROPERTY_AVATAR => new AccountProperty (IAccountManager::PROPERTY_AVATAR , '' , IAccountManager::SCOPE_PUBLISHED , IAccountManager::NOT_VERIFIED , '' ),
81+ IAccountManager::PROPERTY_PHONE => new AccountProperty (IAccountManager::PROPERTY_PHONE , '+358407991028 ' , IAccountManager::SCOPE_LOCAL , IAccountManager::NOT_VERIFIED , '' ),
82+ IAccountManager::PROPERTY_TWITTER => new AccountProperty (IAccountManager::PROPERTY_TWITTER , 'therealsteve ' , IAccountManager::SCOPE_PRIVATE , IAccountManager::NOT_VERIFIED , '' ),
83+ IAccountManager::PROPERTY_ORGANISATION => new AccountProperty (IAccountManager::PROPERTY_ORGANISATION , 'Steve Incorporated ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
84+ IAccountManager::PROPERTY_ROLE => new AccountProperty (IAccountManager::PROPERTY_ROLE , 'Founder ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
85+ IAccountManager::PROPERTY_HEADLINE => new AccountProperty (IAccountManager::PROPERTY_HEADLINE , 'I am Steve ' , IAccountManager::SCOPE_PUBLISHED , IAccountManager::NOT_VERIFIED , '' ),
86+ IAccountManager::PROPERTY_BIOGRAPHY => new AccountProperty (IAccountManager::PROPERTY_BIOGRAPHY , 'Steve is the best ' , IAccountManager::SCOPE_LOCAL , IAccountManager::NOT_VERIFIED , '' ),
87+ IAccountManager::PROPERTY_PROFILE_ENABLED => new AccountProperty (IAccountManager::PROPERTY_PROFILE_ENABLED , '1 ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
88+ IAccountManager::COLLECTION_EMAIL => [
89+ new AccountProperty (IAccountManager::COLLECTION_EMAIL , 'steve@mars.com ' , IAccountManager::SCOPE_PUBLISHED , IAccountManager::NOT_VERIFIED , '' ),
90+ new AccountProperty (IAccountManager::COLLECTION_EMAIL , 'steve@neptune.com ' , IAccountManager::SCOPE_FEDERATED , IAccountManager::NOT_VERIFIED , '' ),
91+ ],
92+ ];
93+ $ account = new Account ($ user );
94+ $ account ->setJsonProperties (json_decode (json_encode ($ properties ), true ));
95+ $ this ->assertEquals ($ properties , $ account ->jsonSerialize ());
96+ }
97+
7398 public function testGetFilteredProperties () {
7499 $ user = $ this ->createMock (IUser::class);
75100 $ properties = [
0 commit comments