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