1616
1717namespace Staffbase \plugins \test \SSOData ;
1818
19- use PHPUnit \Framework \MockObject \MockObject ;
2019use PHPUnit \Framework \TestCase ;
21- use Staffbase \plugins \sdk \SSOData \SharedDataTrait ;
2220use Staffbase \plugins \sdk \SSOData \SSODataTrait ;
2321use Staffbase \plugins \test \SSOTestData ;
2422
@@ -35,26 +33,12 @@ public function testAccessorsGiveCorrectValues(): void
3533 $ tokenData = SSOTestData::getTokenData ();
3634 $ accessors = SSOTestData::getTokenAccessors ();
3735
38- $ ssoData = $ this ->getMockForTrait (SSODataTrait::class);
39-
40- $ ssoData
41- ->expects ($ this ->exactly (count ($ accessors )))
42- ->method ('hasClaim ' )
43- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
44- return isset ($ tokenData [$ key ]);
45- });
46-
47- $ ssoData
48- ->expects ($ this ->exactly (count ($ accessors )))
49- ->method ('getClaim ' )
50- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
51- return $ tokenData [$ key ];
52- });
36+ $ ssoData = new SSODataMock ($ tokenData );
5337
5438 foreach ($ accessors as $ key => $ fn ) {
5539 $ this ->assertEquals (
56- $ ssoData ->$ fn (),
5740 $ tokenData [$ key ],
41+ $ ssoData ->$ fn (),
5842 "called $ fn expected " .
5943 is_array ($ tokenData [$ key ]) ? print_r ($ tokenData [$ key ], true ) : $ tokenData [$ key ],
6044 );
@@ -81,20 +65,7 @@ public function testIsEditorReturnsCorrectValues(): void
8165 $ tokenData = SSOTestData::getTokenData ();
8266 $ tokenData [SSOTestData::CLAIM_USER_ROLE ] = $ arg ;
8367
84- $ ssoData = $ this ->getMockForTrait (SSODataTrait::class);
85-
86- $ ssoData
87- ->method ('hasClaim ' )
88- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
89- return isset ($ tokenData [$ key ]);
90- });
91-
92- $ ssoData
93- ->method ('getClaim ' )
94- ->willReturnCallback (function ($ key ) use ($ tokenData ) {
95- return $ tokenData [$ key ];
96- });
97-
68+ $ ssoData = new SSODataMock ($ tokenData );
9869 $ this ->assertEquals (
9970 $ ssoData ->isEditor (),
10071 $ expect ,
@@ -112,14 +83,31 @@ public function testGetDataReturnsCorrectValues(): void
11283
11384 $ tokenData = SSOTestData::getTokenData ();
11485
115- $ ssoData = $ this -> getMockForTrait (SharedDataTrait::class );
86+ $ ssoData = new SSODataMock ( $ tokenData );
11687
117- $ ssoData
118- ->method ('getAllClaims ' )
119- ->willReturnCallback (function () use ($ tokenData ) {
120- return $ tokenData ;
121- });
12288
12389 $ this ->assertEquals ($ ssoData ->getData (), $ tokenData , "comparing data array to token " );
12490 }
12591}
92+
93+ class SSODataMock
94+ {
95+ use SSODataTrait;
96+ private $ claims ;
97+ public function __construct (array $ claims = [])
98+ {
99+ $ this ->claims = $ claims ;
100+ }
101+ public function hasClaim (string $ claim ): bool
102+ {
103+ return isset ($ this ->claims [$ claim ]);
104+ }
105+ public function getClaim (string $ claim )
106+ {
107+ return $ this ->claims [$ claim ];
108+ }
109+ public function getAllClaims (): array
110+ {
111+ return $ this ->claims ;
112+ }
113+ }
0 commit comments