]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'development' into bugfix/fix-being-unable-to-clear-filters
authorDan Brown <redacted>
Sat, 15 Oct 2022 14:12:55 +0000 (15:12 +0100)
committerDan Brown <redacted>
Sat, 15 Oct 2022 14:12:55 +0000 (15:12 +0100)
1  2 
tests/Entity/EntitySearchTest.php

index 3cfd928203f5e6801ae069e8e12ec858f6bd002c,51fac48b2c4097749ba0a16f5c6d481279185251..c309f2167954b3f99ce344c13fef926cb2280946
@@@ -132,9 -132,8 +132,8 @@@ class EntitySearchTest extends TestCas
      public function test_search_filters()
      {
          $page = $this->entities->newPage(['name' => 'My new test quaffleachits', 'html' => 'this is about an orange donkey danzorbhsing']);
-         $this->asEditor();
-         $editorId = $this->getEditor()->id;
-         $editorSlug = $this->getEditor()->slug;
+         $editor = $this->getEditor();
+         $this->actingAs($editor);
  
          // Viewed filter searches
          $this->get('/search?term=' . urlencode('danzorbhsing {not_viewed_by_me}'))->assertSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertDontSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertDontSee($page->name);
-         $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:' . $editorSlug . '}'))->assertDontSee($page->name);
-         $page->created_by = $editorId;
+         $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:' . $editor->slug . '}'))->assertDontSee($page->name);
+         $page->created_by = $editor->id;
          $page->save();
          $this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertSee($page->name);
-         $this->get('/search?term=' . urlencode('danzorbhsing {created_by: ' . $editorSlug . '}'))->assertSee($page->name);
+         $this->get('/search?term=' . urlencode('danzorbhsing {created_by: ' . $editor->slug . '}'))->assertSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertDontSee($page->name);
-         $page->updated_by = $editorId;
+         $page->updated_by = $editor->id;
          $page->save();
          $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertSee($page->name);
-         $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:' . $editorSlug . '}'))->assertSee($page->name);
+         $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:' . $editor->slug . '}'))->assertSee($page->name);
          $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertDontSee($page->name);
-         $page->owned_by = $editorId;
+         $page->owned_by = $editor->id;
          $page->save();
          $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertSee($page->name);
-         $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:' . $editorSlug . '}'))->assertSee($page->name);
+         $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:' . $editor->slug . '}'))->assertSee($page->name);
  
          // Content filters
          $this->get('/search?term=' . urlencode('{in_name:danzorbhsing}'))->assertDontSee($page->name);
  
          // Restricted filter
          $this->get('/search?term=' . urlencode('danzorbhsing {is_restricted}'))->assertDontSee($page->name);
-         $page->restricted = true;
-         $page->save();
+         $this->entities->setPermissions($page, ['view'], [$editor->roles->first()]);
          $this->get('/search?term=' . urlencode('danzorbhsing {is_restricted}'))->assertSee($page->name);
  
          // Date filters
  
      public function test_searches_with_user_filters_adds_them_into_advanced_search_form()
      {
 -        $resp = $this->asEditor()->get('/search?term=' . urlencode('test {updated_by:me} {created_by:dan}'));
 -        $this->withHtml($resp)->assertElementExists('form input[type="hidden"][name="filters[updated_by]"][value="me"]');
 -        $this->withHtml($resp)->assertElementExists('form input[type="hidden"][name="filters[created_by]"][value="dan"]');
 +        $resp = $this->asEditor()->get('/search?term=' . urlencode('test {updated_by:dan} {created_by:dan}'));
 +        $this->withHtml($resp)->assertElementExists('form input[name="filters[updated_by]"][value="dan"]');
 +        $this->withHtml($resp)->assertElementExists('form input[name="filters[created_by]"][value="dan"]');
 +    }
 +
 +    public function test_searches_with_user_filters_using_me_adds_them_into_advanced_search_form()
 +    {
 +        $resp = $this->asEditor()->get('/search?term=' . urlencode('test {updated_by:me} {created_by:me}'));
 +        $this->withHtml($resp)->assertElementExists('form input[name="filters[updated_by]"][value="me"][checked="checked"]');
 +        $this->withHtml($resp)->assertElementExists('form input[name="filters[created_by]"][value="me"][checked="checked"]');
      }
  }