[MediaWiki-commits] [Gerrit] mediawiki...Newsletter[master]: Added a unit test to check that the name must be unique per ...

2017-12-28 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/400242 )

Change subject: Added a unit test to check that the name must be unique per 
newsletter
..


Added a unit test to check that the name must be unique per newsletter

Bug: T183632
Bug: T183638
Change-Id: I0bcdb1d3b8778b5fc01b23f62a83cbfb407f7a09
---
M tests/specials/SpecialNewsletterCreateTest.php
1 file changed, 37 insertions(+), 1 deletion(-)

Approvals:
  01tonythomas: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/specials/SpecialNewsletterCreateTest.php 
b/tests/specials/SpecialNewsletterCreateTest.php
index d69a5ce..ee8bb40 100644
--- a/tests/specials/SpecialNewsletterCreateTest.php
+++ b/tests/specials/SpecialNewsletterCreateTest.php
@@ -10,6 +10,11 @@
  */
 class SpecialNewsletterCreateTest extends SpecialPageTestBase {
 
+   protected function setUp() {
+   parent::setUp(); // TODO: Change the autogenerated stub
+   $this->tablesUsed = [ 'nl_newsletters' ];
+   }
+
protected function newSpecialPage() {
return new SpecialNewsletterCreate();
}
@@ -23,7 +28,7 @@
public function testCreateNewsletterMainPageExists() {
$input = [
'name' => 'Test Newsletter',
-   'description' => 'This is a test newsletter that should 
return an error for a bad main page.',
+   'description' => 'This newsletter has a nonexistent 
main page',
'mainpage' => Title::newFromText( 'BdaMianPage' 
)->getBaseText()
];
 
@@ -46,6 +51,7 @@
$mainpage = Title::newFromText( 'UTPage' );
$firstNewsletterTitle = Title::makeTitleSafe( NS_NEWSLETTER, 
'First Newsletter' );
$store = NewsletterStore::getDefaultInstance();
+
$firstNewsletter = new Newsletter( 0,
$firstNewsletterTitle->getText(),
'This newsletter uses the main page, preventing a 
second newsletter from using it',
@@ -68,4 +74,34 @@
$store->getNewsletterFromName( 'Second Newsletter' )
);
}
+
+   public function testCreateNewsletterNameUnique() {
+   // Create 1st newsletter that will have a duplicated name
+   $newsletterTitle = Title::makeTitleSafe( NS_NEWSLETTER, 
'Duplicated Newsletter' );
+   $firstMainPage = Title::newFromText( 'Test Page' );
+   $store = NewsletterStore::getDefaultInstance();
+
+   $firstNewsletter = new Newsletter( 0,
+   $newsletterTitle->getText(),
+   'This is a test newsletter that will have its name 
duplicated',
+   $firstMainPage->getArticleID()
+   );
+   $newsletterCreated = $store->addNewsletter( $firstNewsletter );
+   $this->assertTrue( $newsletterCreated );
+
+   // Create 2nd newsletter with a duplicated name
+   $secondMainPage = Title::newFromText( 'UTPage' );
+   $input = [
+   'name' => $newsletterTitle->getText(),
+   'description' => 'This newsletter duplicates a name, 
returning an error',
+   'mainpage' => $secondMainPage->getBaseText()
+   ];
+   $res = $this->newSpecialPage()->onSubmit( $input );
+   $this->assertEquals( $res->getMessage()->getKey(), 
'newsletter-exist-error' );
+
+   // The second newsletter was not created
+   $this->assertNull(
+   $store->getNewsletter( $firstNewsletter->getID() + 1 )
+   );
+   }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/400242
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0bcdb1d3b8778b5fc01b23f62a83cbfb407f7a09
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Ryan10145 
Gerrit-Reviewer: 01tonythomas <01tonytho...@gmail.com>
Gerrit-Reviewer: Addshore 
Gerrit-Reviewer: Ryan10145 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...Newsletter[master]: Added a unit test to check that the name must be unique per ...

2017-12-26 Thread Ryan10145 (Code Review)
Ryan10145 has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/400242 )

Change subject: Added a unit test to check that the name must be unique per 
newsletter
..

Added a unit test to check that the name must be unique per newsletter

Bug: T183632
Bug: T183637
Change-Id: I0bcdb1d3b8778b5fc01b23f62a83cbfb407f7a09
---
M tests/specials/SpecialNewsletterCreateTest.php
1 file changed, 37 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter 
refs/changes/42/400242/1

diff --git a/tests/specials/SpecialNewsletterCreateTest.php 
b/tests/specials/SpecialNewsletterCreateTest.php
index d69a5ce..f7a5264 100644
--- a/tests/specials/SpecialNewsletterCreateTest.php
+++ b/tests/specials/SpecialNewsletterCreateTest.php
@@ -68,4 +68,41 @@
$store->getNewsletterFromName( 'Second Newsletter' )
);
}
+
+   public function testCreateNewsletterNameUnique() {
+   // Create 1st newsletter that will have a conflicting name
+   $newsletterTitle = Title::makeTitleSafe( NS_NEWSLETTER, 
'Duplicated Newsletter' );
+   $firstMainPage = Title::newFromText( 'FirstPage' );
+   $store = NewsletterStore::getDefaultInstance();
+   $firstNewsletter = new Newsletter( 0,
+   $newsletterTitle->getText(),
+   'This is a test newsletter that will have its name 
duplicated',
+   $firstMainPage->getArticleID()
+   );
+   $newsletterCreated = $store->addNewsletter( $firstNewsletter );
+   $this->assertTrue( $newsletterCreated );
+
+   // Create a new Wikipage that will be used as the mainpage of a 
second newsletter
+   $mainpageTitle = Title::newFromText( 'SecondPage' );
+   $wikiPage = WikiPage::factory( $mainpageTitle );
+   $content = new WikitextContent( $text = 'Test mainpage for 
newsletter' );
+   $wikiPage->doEditContent( $content, $summary = 'Test commit' );
+
+   // Create 2nd newsletter with a duplicated name
+   $input = [
+   'name' => $newsletterTitle->getText(),
+   'description' => 'This is a test newsletter that should 
return an error for a duplicated name',
+   'mainpage' => $wikiPage->getTitle()->getBaseText()
+   ];
+   $res = $this->newSpecialPage()->onSubmit( $input );
+   $this->assertEquals( $res->getMessage()->getKey(), 
'newsletter-exist-error' );
+
+   // Remove the original newsletter in order to check if the 
duplicate was added
+   $store->deleteNewsletter( $firstNewsletter, 'Make sure a 
duplicate was not added' );
+
+   // Make sure that there are no duplicates remaining
+   $this->assertNull(
+   $store->getNewsletterFromName( 
$newsletterTitle->getText() )
+   );
+   }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/400242
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0bcdb1d3b8778b5fc01b23f62a83cbfb407f7a09
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Ryan10145 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits