|
@@ -61,8 +61,8 @@ class ElementSearcherTest extends UnitTest
|
61
|
61
|
;
|
62
|
62
|
$es = new ElementSearcher();
|
63
|
63
|
$es->init(array(
|
64
|
|
- 'user_id' => $jean->getId(),
|
65
|
|
- 'count' => 20
|
|
64
|
+ 'user_id' => $jean->getId(),
|
|
65
|
+ 'count' => 20
|
66
|
66
|
));
|
67
|
67
|
|
68
|
68
|
// On récupére avec un requte standart ce que devra retourner l'objet de
|
|
@@ -83,5 +83,116 @@ class ElementSearcherTest extends UnitTest
|
83
|
83
|
// Maintenant on compare
|
84
|
84
|
$this->assertEquals($query_results, $searcher_results);
|
85
|
85
|
|
|
86
|
+ /*
|
|
87
|
+ * Contrôle de sortie des favoris d'un user (paul)
|
|
88
|
+ */
|
|
89
|
+
|
|
90
|
+ $paul = $r->getRepository('MuzichCoreBundle:User')
|
|
91
|
+ ->findOneByUsername('paul')
|
|
92
|
+ ;
|
|
93
|
+ $es = new ElementSearcher();
|
|
94
|
+ $es->init(array(
|
|
95
|
+ 'user_id' => $paul->getId(),
|
|
96
|
+ 'favorite' => true,
|
|
97
|
+ 'count' => 20
|
|
98
|
+ ));
|
|
99
|
+
|
|
100
|
+ $query_results = $r->getEntityManager()
|
|
101
|
+ ->createQuery("SELECT e
|
|
102
|
+ FROM MuzichCoreBundle:Element e
|
|
103
|
+ JOIN e.elements_favorites fav2
|
|
104
|
+ WHERE fav2.user = :fuid
|
|
105
|
+ ORDER BY e.created, e.name DESC")
|
|
106
|
+ ->setParameter('fuid', $paul->getId())
|
|
107
|
+ ->setMaxResults(20)
|
|
108
|
+ ->getResult()
|
|
109
|
+ ;
|
|
110
|
+
|
|
111
|
+ // Les résultats de la recherche
|
|
112
|
+ $searcher_results = $es->getElements($r, $paul->getId());
|
|
113
|
+
|
|
114
|
+ // Maintenant on compare
|
|
115
|
+ $this->assertEquals($query_results, $searcher_results);
|
|
116
|
+
|
|
117
|
+ /*
|
|
118
|
+ * Contrôle de sortie d'un affichage public, avec tags
|
|
119
|
+ */
|
|
120
|
+
|
|
121
|
+ $hardtek = $r->getRepository('MuzichCoreBundle:Tag')->findOneByName('Hardtek');
|
|
122
|
+ $tribe = $r->getRepository('MuzichCoreBundle:Tag')->findOneByName('Tribe');
|
|
123
|
+
|
|
124
|
+ $es = new ElementSearcher();
|
|
125
|
+ $es->init(array(
|
|
126
|
+ 'network' => ElementSearcher::NETWORK_PUBLIC,
|
|
127
|
+ 'tags' => array(
|
|
128
|
+ $hardtek->getId(),
|
|
129
|
+ $tribe->getId()
|
|
130
|
+ ),
|
|
131
|
+ 'count' => 20
|
|
132
|
+ ));
|
|
133
|
+
|
|
134
|
+ $query_results = $r->getEntityManager()
|
|
135
|
+ ->createQuery("SELECT e
|
|
136
|
+ FROM MuzichCoreBundle:Element e
|
|
137
|
+ LEFT JOIN e.tags t
|
|
138
|
+ WHERE (t.id = :tidHardtek OR t.id = :tidTribe)
|
|
139
|
+ ORDER BY e.created, e.name DESC")
|
|
140
|
+ ->setParameters(array(
|
|
141
|
+ 'tidHardtek' => $hardtek->getId(),
|
|
142
|
+ 'tidTribe' => $tribe->getId()
|
|
143
|
+ ))
|
|
144
|
+ ->setMaxResults(20)
|
|
145
|
+ ->getResult()
|
|
146
|
+ ;
|
|
147
|
+
|
|
148
|
+ // Les résultats de la recherche
|
|
149
|
+ $searcher_results = $es->getElements($r, $paul->getId());
|
|
150
|
+
|
|
151
|
+ // Maintenant on compare
|
|
152
|
+ $this->assertEquals($query_results, $searcher_results);
|
|
153
|
+
|
|
154
|
+// /*
|
|
155
|
+// * Contrôle de sortie d'un affichage réseau personel, avec tags
|
|
156
|
+// */
|
|
157
|
+//
|
|
158
|
+// $hardtek = $r->getRepository('MuzichCoreBundle:Tag')->findOneByName('Hardtek');
|
|
159
|
+// $tribe = $r->getRepository('MuzichCoreBundle:Tag')->findOneByName('Tribe');
|
|
160
|
+//
|
|
161
|
+// $es = new ElementSearcher();
|
|
162
|
+// $es->init(array(
|
|
163
|
+// 'network' => ElementSearcher::NETWORK_PERSONAL,
|
|
164
|
+// 'tags' => array(
|
|
165
|
+// $hardtek->getId(),
|
|
166
|
+// $tribe->getId()
|
|
167
|
+// ),
|
|
168
|
+// 'count' => 20
|
|
169
|
+// ));
|
|
170
|
+//
|
|
171
|
+// $query_results = $r->getEntityManager()
|
|
172
|
+// ->createQuery("SELECT e, et, t2, eu, g
|
|
173
|
+// FROM MuzichCoreBundle:Element e
|
|
174
|
+// LEFT JOIN e.group g
|
|
175
|
+// LEFT JOIN e.type et
|
|
176
|
+// LEFT JOIN e.tags t
|
|
177
|
+// LEFT JOIN e.tags t2
|
|
178
|
+// JOIN e.owner eu LEFT JOIN eu.followers_users f LEFT JOIN g.followers gf
|
|
179
|
+// WHERE (t.id = :tidHardtek OR t.id = :tidTribe)
|
|
180
|
+// AND (f.follower = :userid OR gf.follower = :useridg)
|
|
181
|
+// ORDER BY e.created, e.name DESC")
|
|
182
|
+// ->setParameters(array(
|
|
183
|
+// 'tidHardtek' => $hardtek->getId(),
|
|
184
|
+// 'tidTribe' => $tribe->getId(),
|
|
185
|
+// 'userid' => $bux->getId(),
|
|
186
|
+// 'useridg' => $bux->getId()
|
|
187
|
+// ))
|
|
188
|
+// ->setMaxResults(20)
|
|
189
|
+// ->getResult()
|
|
190
|
+// ;
|
|
191
|
+//
|
|
192
|
+// // Les résultats de la recherche
|
|
193
|
+// $searcher_results = $es->getElements($r, $paul->getId());
|
|
194
|
+//
|
|
195
|
+// // Maintenant on compare
|
|
196
|
+// $this->assertEquals($query_results, $searcher_results);
|
86
|
197
|
}
|
87
|
198
|
}
|