/** @test */
 public function it_should_not_call_remove_from_indices_if_afterUpdate_is_set_to_false()
 {
     $dummyModel = new DummyActiveRecordModel();
     $dummyModel->attachBehavior('test', ['class' => SynchronousAutoIndexBehavior::class, 'afterUpdate' => false]);
     $this->dummyAlgoliaManager->shouldNotReceive('updateInIndices');
     $dummyModel->trigger(ActiveRecord::EVENT_AFTER_UPDATE);
 }
 /** @test */
 public function it_can_clear_indices_for_given_active_record_class()
 {
     $activeRecord1 = new DummyActiveRecordModel();
     $activeRecord1->test = 'test';
     $activeRecord1->save();
     $activeRecord2 = new DummyActiveRecordModel();
     $activeRecord2->test = 'test';
     $activeRecord2->save();
     $index = $this->addSearchableObjectToIndex($activeRecord1);
     $this->addSearchableObjectToIndex($activeRecord2);
     $response = $this->algoliaManager->clearIndices(DummyActiveRecordModel::class);
     $index->waitTask($response[$index->indexName]['taskID']);
     $searchResult = $index->search('test');
     $this->deleteIndex($index);
     $this->assertCount(0, $searchResult['hits']);
 }
 /** @test */
 public function it_can_be_searched_with_addittional_search_parameters()
 {
     $searchParameters = ['attributesToRetrieve' => 'firstname,lastname', 'hitsPerPage' => 50];
     $this->dummyAlgoliaManager->shouldReceive('search')->once()->with(DummyActiveRecordModel::class, 'query string', $searchParameters)->andReturn('response');
     $response = DummyActiveRecordModel::search('query string', $searchParameters);
     $this->assertEquals('response', $response);
 }