This repository was archived by the owner on Sep 11, 2018. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +66
-1
lines changed
Expand file tree Collapse file tree 4 files changed +66
-1
lines changed Original file line number Diff line number Diff line change 11/vendor
22composer.lock
33phpunit.xml
4+ * .sublime *
Original file line number Diff line number Diff line change @@ -158,6 +158,11 @@ public function _setSettings()
158158 }, $ settings ['slaves ' ]);
159159 }
160160
161+ if (isset ($ settings ['synonyms ' ])) {
162+ $ index ->batchSynonyms ($ settings ['synonyms ' ], true , true );
163+ unset($ settings ['synonyms ' ]);
164+ }
165+
161166 if (count (array_keys ($ settings )) > 0 ) {
162167 $ index ->setSettings ($ settings );
163168 }
@@ -265,4 +270,4 @@ public function removeFromIndex()
265270 $ index ->deleteObject ($ modelHelper ->getObjectId ($ this ));
266271 }
267272 }
268- }
273+ }
Original file line number Diff line number Diff line change 55use AlgoliaSearch \Tests \Models \Model2 ;
66use AlgoliaSearch \Tests \Models \Model4 ;
77use AlgoliaSearch \Tests \Models \Model6 ;
8+ use AlgoliaSearch \Tests \Models \Model7 ;
89use Illuminate \Support \Facades \App ;
910use Illuminate \Support \Facades \Config ;
1011use Mockery ;
@@ -93,6 +94,39 @@ public function testSetSettings()
9394 $ model6 ->setSettings ();
9495 }
9596
97+ public function testSetSynonyms ()
98+ {
99+ $ index = Mockery::mock ('\AlgoliaSearch\Index ' );
100+ $ index ->shouldReceive ('batchSynonyms ' )->with (
101+ [
102+ [
103+ 'objectID ' => 'red-color ' ,
104+ 'type ' => 'synonym ' ,
105+ 'synonyms ' => [
106+ 'red ' ,
107+ 'really red ' ,
108+ 'much red '
109+ ]
110+ ]
111+ ],
112+ true ,
113+ true
114+ );
115+
116+ /** @var \AlgoliaSearch\Laravel\ModelHelper $realModelHelper */
117+ $ realModelHelper = App::make ('\AlgoliaSearch\Laravel\ModelHelper ' );
118+ $ modelHelper = Mockery::mock ('\AlgoliaSearch\Laravel\ModelHelper ' );
119+
120+ App::instance ('\AlgoliaSearch\Laravel\ModelHelper ' , $ modelHelper );
121+
122+ $ model7 = new Model7 ();
123+ $ modelHelper ->shouldReceive ('getSettings ' )->andReturn ($ realModelHelper ->getSettings ($ model7 ));
124+ $ modelHelper ->shouldReceive ('getIndices ' )->andReturn ([$ index ]);
125+ $ modelHelper ->shouldReceive ('getSlavesSettings ' )->andReturn ($ realModelHelper ->getSlavesSettings ($ model7 ));
126+
127+ $ this ->assertEquals (null , $ model7 ->setSettings ());
128+ }
129+
96130 public function tearDown ()
97131 {
98132 Mockery::close ();
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace AlgoliaSearch \Tests \Models ;
4+
5+ use AlgoliaSearch \Laravel \AlgoliaEloquentTrait ;
6+ use Illuminate \Database \Eloquent \Model ;
7+
8+ class Model7 extends Model
9+ {
10+ use AlgoliaEloquentTrait;
11+
12+ public $ algoliaSettings = [
13+ 'synonyms ' => [
14+ [
15+ 'objectID ' => 'red-color ' ,
16+ 'type ' => 'synonym ' ,
17+ 'synonyms ' => [
18+ 'red ' ,
19+ 'really red ' ,
20+ 'much red '
21+ ]
22+ ]
23+ ]
24+ ];
25+ }
You can’t perform that action at this time.
0 commit comments