29
29
*/
30
30
class CachedIdentifiersExtractorTest extends TestCase
31
31
{
32
- public function identifiersProvider ()
32
+ public function itemProvider ()
33
33
{
34
- yield [1 , 1 ];
35
- yield [$ uuid = new Uuid (), $ uuid ->__toString ()];
34
+ $ dummy = new Dummy ();
35
+ $ dummy ->setId ($ id = 1 );
36
+ yield [$ dummy , ['id ' => $ id ]];
37
+
38
+ $ dummy = new Dummy ();
39
+ $ dummy ->setId ($ id = new Uuid ());
40
+ yield [$ dummy , ['id ' => $ id ]];
36
41
}
37
42
38
43
/**
39
- * @dataProvider identifiersProvider
44
+ * @dataProvider itemProvider
40
45
*/
41
- public function testFirstPass ($ identifier , $ identifierValue )
46
+ public function testFirstPass ($ item , $ expected )
42
47
{
43
48
$ key = 'iri_identifiers ' .md5 (Dummy::class);
44
49
@@ -50,29 +55,25 @@ public function testFirstPass($identifier, $identifierValue)
50
55
$ cacheItemPool ->getItem ($ key )->shouldBeCalled ()->willReturn ($ cacheItem );
51
56
$ cacheItemPool ->save ($ cacheItem )->shouldBeCalled ();
52
57
53
- $ dummy = new Dummy ();
54
- $ dummy ->setId ($ identifier );
55
-
56
58
$ decoration = $ this ->prophesize (IdentifiersExtractorInterface::class);
57
- $ decoration ->getIdentifiersFromItem ($ dummy )->shouldBeCalled ()->willReturn ([ ' id ' => $ identifierValue ] );
59
+ $ decoration ->getIdentifiersFromItem ($ item )->shouldBeCalled ()->willReturn ($ expected );
58
60
59
61
$ identifiersExtractor = new CachedIdentifiersExtractor ($ cacheItemPool ->reveal (), $ decoration ->reveal (), null , $ this ->getResourceClassResolver ());
60
62
61
- $ expectedResult = ['id ' => $ identifierValue ];
62
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ));
63
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ), 'Trigger the local cache ' );
63
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ));
64
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ), 'Trigger the local cache ' );
64
65
65
66
$ decoration ->getIdentifiersFromResourceClass (Dummy::class)->shouldBeCalled ()->willReturn (['id ' ]);
66
67
67
68
$ expectedResult = ['id ' ];
68
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromResourceClass (Dummy::class));
69
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromResourceClass (Dummy::class), 'Trigger the local cache ' );
69
+ $ this ->assertSame ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromResourceClass (Dummy::class));
70
+ $ this ->assertSame ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromResourceClass (Dummy::class), 'Trigger the local cache ' );
70
71
}
71
72
72
73
/**
73
- * @dataProvider identifiersProvider
74
+ * @dataProvider itemProvider
74
75
*/
75
- public function testSecondPass ($ identifier , $ identifierValue )
76
+ public function testSecondPass ($ item , $ expected )
76
77
{
77
78
$ key = 'iri_identifiers ' .md5 (Dummy::class);
78
79
@@ -83,20 +84,49 @@ public function testSecondPass($identifier, $identifierValue)
83
84
$ cacheItemPool = $ this ->prophesize (CacheItemPoolInterface::class);
84
85
$ cacheItemPool ->getItem ($ key )->shouldBeCalled ()->willReturn ($ cacheItem );
85
86
86
- $ dummy = new Dummy ();
87
- $ dummy ->setId ($ identifier );
88
-
89
87
$ decoration = $ this ->prophesize (IdentifiersExtractorInterface::class);
90
- $ decoration ->getIdentifiersFromItem ($ dummy )->shouldNotBeCalled ();
88
+ $ decoration ->getIdentifiersFromItem ($ item )->shouldNotBeCalled ();
91
89
92
90
$ identifiersExtractor = new CachedIdentifiersExtractor ($ cacheItemPool ->reveal (), $ decoration ->reveal (), null , $ this ->getResourceClassResolver ());
93
91
94
- $ expectedResult = ['id ' => $ identifierValue ];
95
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ));
96
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ), 'Trigger the local cache ' );
92
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ));
93
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ), 'Trigger the local cache ' );
97
94
}
98
95
99
- public function testFirstPassWithRelated ()
96
+ public function identifiersRelatedProvider ()
97
+ {
98
+ $ related = new RelatedDummy ();
99
+ $ related ->setId ($ relatedId = 2 );
100
+
101
+ $ dummy = new Dummy ();
102
+ $ dummy ->setId ($ id = 1 );
103
+ $ dummy ->setRelatedDummy ($ related );
104
+
105
+ yield [$ dummy , ['id ' => $ id , 'relatedDummy ' => $ relatedId ]];
106
+
107
+ $ related = new RelatedDummy ();
108
+ $ related ->setId ($ relatedId = 1 );
109
+
110
+ $ dummy = new Dummy ();
111
+ $ dummy ->setId ($ id = new Uuid ());
112
+ $ dummy ->setRelatedDummy ($ related );
113
+
114
+ yield [$ dummy , ['id ' => $ id , 'relatedDummy ' => $ relatedId ]];
115
+
116
+ $ related = new RelatedDummy ();
117
+ $ related ->setId ($ relatedId = new Uuid ());
118
+
119
+ $ dummy = new Dummy ();
120
+ $ dummy ->setId ($ id = new Uuid ());
121
+ $ dummy ->setRelatedDummy ($ related );
122
+
123
+ yield [$ dummy , ['id ' => $ id , 'relatedDummy ' => $ relatedId ]];
124
+ }
125
+
126
+ /**
127
+ * @dataProvider identifiersRelatedProvider
128
+ */
129
+ public function testFirstPassWithRelated ($ item , $ expected )
100
130
{
101
131
$ key = 'iri_identifiers ' .md5 (Dummy::class);
102
132
$ keyRelated = 'iri_identifiers ' .md5 (RelatedDummy::class);
@@ -112,24 +142,19 @@ public function testFirstPassWithRelated()
112
142
$ cacheItemPool ->getItem ($ key )->shouldBeCalled ()->willReturn ($ cacheItem );
113
143
$ cacheItemPool ->getItem ($ keyRelated )->shouldBeCalled ()->willReturn ($ cacheItemRelated );
114
144
115
- $ related = new RelatedDummy ();
116
- $ related ->setId (1 );
117
-
118
- $ dummy = new Dummy ();
119
- $ dummy ->setId (1 );
120
- $ dummy ->setRelatedDummy ($ related );
121
-
122
145
$ decoration = $ this ->prophesize (IdentifiersExtractorInterface::class);
123
- $ decoration ->getIdentifiersFromItem ($ dummy )->shouldBeCalled ()->willReturn ([ ' id ' => 1 , ' relatedDummy ' => 1 ] );
146
+ $ decoration ->getIdentifiersFromItem ($ item )->shouldBeCalled ()->willReturn ($ expected );
124
147
125
148
$ identifiersExtractor = new CachedIdentifiersExtractor ($ cacheItemPool ->reveal (), $ decoration ->reveal (), null , $ this ->getResourceClassResolver ());
126
149
127
- $ expectedResult = ['id ' => 1 , 'relatedDummy ' => 1 ];
128
- $ this ->assertEquals (['id ' => 1 , 'relatedDummy ' => 1 ], $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ));
129
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ), 'Trigger the local cache ' );
150
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ));
151
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ), 'Trigger the local cache ' );
130
152
}
131
153
132
- public function testSecondPassWithRelated ()
154
+ /**
155
+ * @dataProvider identifiersRelatedProvider
156
+ */
157
+ public function testSecondPassWithRelated ($ item , $ expected )
133
158
{
134
159
$ key = 'iri_identifiers ' .md5 (Dummy::class);
135
160
$ keyRelated = 'iri_identifiers ' .md5 (RelatedDummy::class);
@@ -146,21 +171,13 @@ public function testSecondPassWithRelated()
146
171
$ cacheItemPool ->getItem ($ key )->shouldBeCalled ()->willReturn ($ cacheItem );
147
172
$ cacheItemPool ->getItem ($ keyRelated )->shouldBeCalled ()->willReturn ($ cacheItemRelated );
148
173
149
- $ related = new RelatedDummy ();
150
- $ related ->setId (1 );
151
-
152
- $ dummy = new Dummy ();
153
- $ dummy ->setId (1 );
154
- $ dummy ->setRelatedDummy ($ related );
155
-
156
174
$ decoration = $ this ->prophesize (IdentifiersExtractorInterface::class);
157
- $ decoration ->getIdentifiersFromItem ($ dummy )->shouldNotBeCalled ();
175
+ $ decoration ->getIdentifiersFromItem ($ item )->shouldNotBeCalled ();
158
176
159
177
$ identifiersExtractor = new CachedIdentifiersExtractor ($ cacheItemPool ->reveal (), $ decoration ->reveal (), null , $ this ->getResourceClassResolver ());
160
178
161
- $ expectedResult = ['id ' => 1 , 'relatedDummy ' => 1 ];
162
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ));
163
- $ this ->assertEquals ($ expectedResult , $ identifiersExtractor ->getIdentifiersFromItem ($ dummy ), 'Trigger the local cache ' );
179
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ));
180
+ $ this ->assertSame ($ expected , $ identifiersExtractor ->getIdentifiersFromItem ($ item ), 'Trigger the local cache ' );
164
181
}
165
182
166
183
/**
0 commit comments