Merge "Selenium: replace UserLoginPage with BlankPage where possible"
[lhc/web/wiklou.git] / tests / phpunit / includes / SiteStatsTest.php
1 <?php
2
3 class SiteStatsTest extends MediaWikiTestCase {
4
5 /**
6 * @covers SiteStats::jobs
7 */
8 function testJobsCountGetCached() {
9 $cache = new WANObjectCache( [ 'cache' => new HashBagOStuff() ] );
10 $this->setService( 'MainWANObjectCache', $cache );
11 $jobq = JobQueueGroup::singleton();
12
13 $jobq->push( Job::factory( 'null', Title::newMainPage(), [] ) );
14 $this->assertEquals( 1, SiteStats::jobs(),
15 'A single job enqueued bumps jobscount stat to 1' );
16
17 $jobq->push( Job::factory( 'null', Title::newMainPage(), [] ) );
18 $this->assertEquals( 1, SiteStats::jobs(),
19 'SiteStats::jobs() count does not reflect addition ' .
20 'of a second job (cached)'
21 );
22
23 $jobq->get( 'null' )->delete(); // clear jobqueue
24 $this->assertEquals( 0, $jobq->get( 'null' )->getSize(),
25 'Job queue for NullJob has been cleaned' );
26
27 $cache->delete( $cache->makeKey( 'SiteStats', 'jobscount' ) );
28 $this->assertEquals( 1, SiteStats::jobs(),
29 'jobs count is kept in process cache' );
30
31 $cache->clearProcessCache();
32 $this->assertEquals( 0, SiteStats::jobs() );
33 }
34
35 }