37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php declare(strict_types=1);
 | 
						|
class RatingsTest extends ShimmiePHPUnitTestCase
 | 
						|
{
 | 
						|
    public function testRatingSafe()
 | 
						|
    {
 | 
						|
        $this->log_in_as_user();
 | 
						|
        $image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx");
 | 
						|
        $image = Image::by_id($image_id);
 | 
						|
        send_event(new RatingSetEvent($image, "s"));
 | 
						|
 | 
						|
        # search for it in various ways
 | 
						|
        $this->assert_search_results(["rating=Safe"], [$image_id]);
 | 
						|
        $this->assert_search_results(["rating=s"], [$image_id]);
 | 
						|
        $this->assert_search_results(["rating=sqe"], [$image_id]);
 | 
						|
 | 
						|
        # test that search by tag still works
 | 
						|
        $this->assert_search_results(["pbx"], [$image_id]);
 | 
						|
 | 
						|
        # searching for a different rating should return nothing
 | 
						|
        $this->assert_search_results(["rating=q"], []);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testRatingExplicit()
 | 
						|
    {
 | 
						|
        global $config;
 | 
						|
        $config->set_array("ext_rating_anonymous_privs", ["s", "q"]);
 | 
						|
        $this->log_in_as_user();
 | 
						|
        $image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx");
 | 
						|
        $image = Image::by_id($image_id);
 | 
						|
        send_event(new RatingSetEvent($image, "e"));
 | 
						|
 | 
						|
        # the explicit image shouldn't show up in anon's searches
 | 
						|
        $this->log_out();
 | 
						|
        $this->assert_search_results(["pbx"], []);
 | 
						|
    }
 | 
						|
}
 |