Skip to content
This repository has been archived by the owner on May 13, 2021. It is now read-only.

Commit

Permalink
Merge pull request #2 from meilisearch/update-owner
Browse files Browse the repository at this point in the history
update owner
  • Loading branch information
curquiza authored Apr 18, 2020
2 parents 1632cbd + a9ecdc8 commit d0f6331
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 42 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ Here is the [MeiliSearch documentation](https://docs.meilisearch.com/) 📖
### Composer

```bash
$ composer require shokme/laravel-scout-meilisearch
$ composer require meilisearch/meilisearch-laravel-scout
```

### Export configuration

```bash
$ php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
$ php artisan vendor:publish --provider="Shokme\Meilisearch\MeilisearchServiceProvider" --tag="config"
$ php artisan vendor:publish --provider="Meilisearch\Scout\MeilisearchServiceProvider" --tag="config"
```

### Update .env
Expand Down Expand Up @@ -129,7 +129,7 @@ or you can use the artisan command to delete all documents from an index:
$ php artisan scout:flush "App\Book"
```

### Delete an index
#### Delete an index
```bash
$ php artisan scout:index -d books
```
Expand Down
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "shokme/laravel-scout-meilisearch",
"name": "meilisearch/meilisearch-laravel-scout",
"description": "Laravel Scout custom engine for MeiliSearch",
"keywords": ["meilisearch", "laravel", "scout", "search"],
"type": "library",
Expand All @@ -22,18 +22,18 @@
},
"autoload": {
"psr-4": {
"Shokme\\Meilisearch\\": "src"
"Meilisearch\\Scout\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Shokme\\Meilisearch\\Tests\\": "tests"
"Meilisearch\\Scout\\Tests\\": "tests"
}
},
"extra": {
"laravel": {
"providers": [
"Shokme\\Meilisearch\\MeilisearchServiceProvider"
"Meilisearch\\Scout\\MeilisearchServiceProvider"
]
}
},
Expand Down
4 changes: 2 additions & 2 deletions src/Console/IndexMeilisearch.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace Shokme\Meilisearch\Console;
namespace Meilisearch\Scout\Console;

use Illuminate\Console\Command;
use MeiliSearch\Client;
use MeiliSearch\Exceptions\HTTPRequestException;
use Shokme\Meilisearch\Engines\MeilisearchEngine;
use Meilisearch\Engines\MeilisearchEngine;

class IndexMeilisearch extends Command
{
Expand Down
2 changes: 1 addition & 1 deletion src/Engines/MeilisearchEngine.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Shokme\Meilisearch\Engines;
namespace Meilisearch\Scout\Engines;

use Laravel\Scout\Engines\Engine;
use MeiliSearch\Client as Meilisearch;
Expand Down
7 changes: 3 additions & 4 deletions src/MeilisearchServiceProvider.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
<?php

namespace Shokme\Meilisearch;
namespace Meilisearch\Scout;

use Illuminate\Support\ServiceProvider;
use Laravel\Scout\EngineManager;
use MeiliSearch\Client;
use Shokme\Meilisearch\Console\IndexMeilisearch;
use Shokme\Meilisearch\Console\RequestMeilisearch;
use Shokme\Meilisearch\Engines\MeilisearchEngine;
use Meilisearch\Scout\Console\IndexMeilisearch;
use Meilisearch\Scout\Engines\MeilisearchEngine;

class MeilisearchServiceProvider extends ServiceProvider
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Fixtures/SearchableModel.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Shokme\Meilisearch\Tests\Fixtures;
namespace Meilisearch\Scout\Tests\Fixtures;

use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
Expand All @@ -12,7 +12,7 @@ class SearchableModel extends Model
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['id'];
protected $fillable = ['id'];

public function searchableAs()
{
Expand Down
54 changes: 30 additions & 24 deletions tests/MeilisearchEngineTest.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php

namespace Shokme\Meilisearch\Tests;
namespace Meilisearch\Scout\Tests;

use MeiliSearch\Client;
use Illuminate\Database\Eloquent\Collection;
use Laravel\Scout\Builder;
use Shokme\Meilisearch\Engines\MeilisearchEngine;
use Shokme\Meilisearch\Tests\Fixtures\SearchableModel;
use Meilisearch\Scout\Engines\MeilisearchEngine;
use Meilisearch\Scout\Tests\Fixtures\SearchableModel;
use Mockery as m;
use stdClass;

Expand All @@ -22,9 +22,11 @@ public function update_adds_objects_to_index()
{
$client = m::mock(Client::class);
$client->shouldReceive('getIndex')->with('table')->andReturn($index = m::mock(stdClass::class));
$index->shouldReceive('saveObjects')->with([[
'id' => 1
]]);
$index->shouldReceive('addDocuments')->with([
[
'id' => 1
]
]);

$engine = new MeilisearchEngine($client);
$engine->update(Collection::make([new SearchableModel]));
Expand All @@ -47,44 +49,46 @@ public function search_sends_correct_parameters_to_meilisearch()
$client = m::mock(Client::class);
$client->shouldReceive('getIndex')->with('table')->andReturn($index = m::mock(stdClass::class));
$index->shouldReceive('search')->with('mustang', [
'filters' => ['foo=1'],
'filters' => 'foo=1',
]);

$engine = new MeilisearchEngine($client);
$builder = new Builder(new SearchableModel, 'mustang');
$builder->where('filters', ['foo=1']);
$builder = new Builder(new SearchableModel, 'mustang', function ($meilisearch, $query, $options) {
$options['filters'] = 'foo=1';

return $meilisearch->search($query, $options);
});
$engine->search($builder);
}

/** @test */
public function map_correctly_maps_results_to_models()
{
$this->markTestSkipped('TODO: try to prevent need of sql');

$client = m::mock(Client::class);
$engine = new MeilisearchEngine($client);

$model = m::mock(stdClass::class);
$model->shouldReceive('getScoutModelsByIds')->andReturn(Collection::make([new SearchableModel(['id' => 1])]));

$model->shouldReceive(['getKeyName' => 'id']);
$model->shouldReceive('getScoutModelsByIds')->andReturn($models = Collection::make([new SearchableModel(['id' => 1])]));
$builder = m::mock(Builder::class);

$results = $engine->map($builder, ['nbHits' => 1, 'hits' => [
['id' => 1],
]], new SearchableModel());
$results = $engine->map($builder, [
'nbHits' => 1, 'hits' => [
['id' => 1],
]
], $model);

$this->assertEquals(1, count($results));
}

/** @test */
public function map_method_respects_order()
{
$this->markTestSkipped('TODO: try to prevent need of sql');

$client = m::mock(Client::class);
$engine = new MeilisearchEngine($client);

$model = m::mock(stdClass::class);
$model->shouldReceive(['getKeyName' => 'id']);
$model->shouldReceive('getScoutModelsByIds')->andReturn($models = Collection::make([
new SearchableModel(['id' => 1]),
new SearchableModel(['id' => 2]),
Expand All @@ -94,12 +98,14 @@ public function map_method_respects_order()

$builder = m::mock(Builder::class);

$results = $engine->map($builder, ['nbHits' => 4, 'hits' => [
['id' => 1],
['id' => 2],
['id' => 4],
['id' => 3],
]], new SearchableModel());
$results = $engine->map($builder, [
'nbHits' => 4, 'hits' => [
['id' => 1],
['id' => 2],
['id' => 4],
['id' => 3],
]
], $model);

$this->assertEquals(4, count($results));
$this->assertEquals([
Expand Down
4 changes: 2 additions & 2 deletions tests/TestCase.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Shokme\Meilisearch\Tests;
namespace Meilisearch\Scout\Tests;

use Shokme\Meilisearch\MeilisearchServiceProvider;
use Meilisearch\Scout\MeilisearchServiceProvider;

class TestCase extends \Orchestra\Testbench\TestCase
{
Expand Down

0 comments on commit d0f6331

Please sign in to comment.