jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/401497 )
Change subject: Add unit test for NewsletterDb::getNewsletterSubscribersCount
......................................................................
Add unit test for NewsletterDb::getNewsletterSubscribersCount
Bug: T183808
Depends-on: I413ee3d9bca3b5b20982f460621071027f399415
Change-Id: I65ad46213f747a992a9f0094c2fde2a964bcb0ef
---
M tests/NewsletterDbTest.php
1 file changed, 64 insertions(+), 0 deletions(-)
Approvals:
Umherirrender: Looks good to me, approved
01tonythomas: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/NewsletterDbTest.php b/tests/NewsletterDbTest.php
index e7b1a34..007e23c 100644
--- a/tests/NewsletterDbTest.php
+++ b/tests/NewsletterDbTest.php
@@ -114,6 +114,70 @@
}
/**
+ * @covers NewsletterDb::getNewsletterSubscribersCount
+ */
+ public function testGetSubscribersCount() {
+ $mockWriteDb = $this->getMockIDatabase();
+ $newsletter = $this->getTestNewsletter();
+ $firstUser = User::newFromName( 'TestUser1' );
+ $secondUser = User::newFromName( 'TestUser2' );
+ $firstUser->addToDatabase();
+ $secondUser->addToDatabase();
+
+ $mockWriteDb
+ ->expects( $this->once() )
+ ->method( 'insert' )
+ ->with(
+ 'nl_subscriptions',
+ [
+ [
+ 'nls_subscriber_id' =>
$firstUser->getId(),
+ 'nls_newsletter_id' =>
$newsletter->getId()
+ ],
+ [
+ 'nls_subscriber_id' =>
$secondUser->getId(),
+ 'nls_newsletter_id' =>
$newsletter->getId()
+ ]
+ ]
+ );
+ $mockWriteDb->expects( $this->once() )
+ ->method( 'affectedRows' )
+ ->will( $this->returnValue( 2 ) );
+ $mockWriteDb
+ ->expects( $this->once() )
+ ->method( 'update' )
+ ->with(
+ 'nl_newsletters',
+ // For index reasons, count is negative
+ [ 'nl_subscriber_count=nl_subscriber_count-2' ],
+ [ 'nl_id' => $newsletter->getId() ]
+ );
+ $mockWriteDb
+ ->expects( $this->once() )
+ ->method( 'selectField' )
+ ->with(
+ 'nl_newsletters',
+ 'nl_subscriber_count',
+ [ 'nl_id' => $newsletter->getId() ]
+ )->will(
+ // For index reasons, count is negative
+ $this->returnValue( -2 )
+ );
+
+ $table = new NewsletterDb( $this->getMockLoadBalancer(
$mockWriteDb ) );
+
+ // Add two subscribers before checking subscribers count
+ $result = $table->addSubscription( $this->getTestNewsletter(), [
+ $firstUser->getId(),
+ $secondUser->getId()
+ ] );
+ $this->assertTrue( $result );
+
+ $result = $table->getNewsletterSubscribersCount(
$newsletter->getId() );
+ $this->assertEquals( 2, $result );
+ }
+
+ /**
* @covers NewsletterDb::addPublisher
*/
public function testAddPublisher() {
--
To view, visit https://gerrit.wikimedia.org/r/401497
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I65ad46213f747a992a9f0094c2fde2a964bcb0ef
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Phantom42 <[email protected]>
Gerrit-Reviewer: 01tonythomas <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Phantom42 <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits