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 <chang.ryan10...@gmail.com>

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

Reply via email to