1414
1515namespace Staffbase \plugins \test \SSOData ;
1616
17- use PHPUnit \Framework \MockObject \MockObject ;
1817use PHPUnit \Framework \TestCase ;
19- use Staffbase \plugins \sdk \SSOData \SharedDataTrait ;
2018use Staffbase \plugins \sdk \SSOData \SSODataTrait ;
2119use Staffbase \plugins \test \SSOTestData ;
2220
@@ -33,26 +31,12 @@ public function testAccessorsGiveCorrectValues(): void
3331 $ tokenData = SSOTestData::getTokenData ();
3432 $ accessors = SSOTestData::getTokenAccessors ();
3533
36- $ ssoData = $ this ->getMockForTrait (SSODataTrait::class);
37-
38- $ ssoData
39- ->expects ($ this ->exactly (count ($ accessors )))
40- ->method ('hasClaim ' )
41- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
42- return isset ($ tokenData [$ key ]);
43- });
44-
45- $ ssoData
46- ->expects ($ this ->exactly (count ($ accessors )))
47- ->method ('getClaim ' )
48- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
49- return $ tokenData [$ key ];
50- });
34+ $ ssoData = new SSODataMock ($ tokenData );
5135
5236 foreach ($ accessors as $ key => $ fn ) {
5337 $ this ->assertEquals (
54- $ ssoData ->$ fn (),
5538 $ tokenData [$ key ],
39+ $ ssoData ->$ fn (),
5640 "called $ fn expected " .
5741 is_array ($ tokenData [$ key ]) ? print_r ($ tokenData [$ key ], true ) : $ tokenData [$ key ],
5842 );
@@ -79,20 +63,7 @@ public function testIsEditorReturnsCorrectValues(): void
7963 $ tokenData = SSOTestData::getTokenData ();
8064 $ tokenData [SSOTestData::CLAIM_USER_ROLE ] = $ arg ;
8165
82- $ ssoData = $ this ->getMockForTrait (SSODataTrait::class);
83-
84- $ ssoData
85- ->method ('hasClaim ' )
86- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
87- return isset ($ tokenData [$ key ]);
88- });
89-
90- $ ssoData
91- ->method ('getClaim ' )
92- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
93- return $ tokenData [$ key ];
94- });
95-
66+ $ ssoData = new SSODataMock ($ tokenData );
9667 $ this ->assertEquals (
9768 $ ssoData ->isEditor (),
9869 $ expect ,
@@ -110,14 +81,31 @@ public function testGetDataReturnsCorrectValues(): void
11081
11182 $ tokenData = SSOTestData::getTokenData ();
11283
113- $ ssoData = $ this -> getMockForTrait (SharedDataTrait::class );
84+ $ ssoData = new SSODataMock ( $ tokenData );
11485
115- $ ssoData
116- ->method ('getAllClaims ' )
117- ->willReturnCallback (function () use ($ tokenData ) {
118- return $ tokenData ;
119- });
12086
12187 $ this ->assertEquals ($ ssoData ->getData (), $ tokenData , "comparing data array to token " );
12288 }
12389}
90+
91+ class SSODataMock
92+ {
93+ use SSODataTrait;
94+ private $ claims ;
95+ public function __construct (array $ claims = [])
96+ {
97+ $ this ->claims = $ claims ;
98+ }
99+ public function hasClaim (string $ claim ): bool
100+ {
101+ return isset ($ this ->claims [$ claim ]);
102+ }
103+ public function getClaim (string $ claim )
104+ {
105+ return $ this ->claims [$ claim ];
106+ }
107+ public function getAllClaims (): array
108+ {
109+ return $ this ->claims ;
110+ }
111+ }
0 commit comments