*
* PHP version 5
*
- * Copyright © 2013-2023 The Galette Team
+ * Copyright © 2013-2024 The Galette Team
*
* This file is part of Galette (http://galette.tuxfamily.org).
*
* @package GaletteTests
*
* @author Johan Cwiklinski <johan@x-tnd.be>
- * @copyright 2013-2023 The Galette Team
+ * @copyright 2013-2024 The Galette Team
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL License 3.0 or (at your option) any later version
* @link http://galette.tuxfamily.org
* @since 2013-10-19
namespace Galette\Core\test\units;
+use PHPMailer\PHPMailer\PHPMailer;
use PHPUnit\Framework\TestCase;
/**
* @name Preferences
* @package GaletteTests
* @author Johan Cwiklinski <johan@x-tnd.be>
- * @copyright 2013-2023 The Galette Team
+ * @copyright 2013-2024 The Galette Team
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL License 3.0 or (at your option) any later version
* @link http://galette.tuxfamily.org
* @since 2013-01-13
*/
public function testGetMailSignature()
{
- $this->assertSame("\r\n-- \r\nGalette\r\n\r\n", $this->preferences->getMailSignature());
+ $mail = new PHPMailer();
+ $this->assertSame("\r\n-- \r\nGalette", $this->preferences->getMailSignature($mail));
$this->preferences->pref_website = 'https://galette.eu';
- $this->assertSame("\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu", $this->preferences->getMailSignature());
+ $this->assertSame(
+ "\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu",
+ $this->preferences->getMailSignature($mail)
+ );
//with legacy values
- $this->preferences->pref_mailsign = "NAME}\r\n\r\n{WEBSITE}\r\n{GOOGLEPLUS}\r\n{FACEBOOK}\r\n{TWITTER}\r\n{LINKEDIN}\r\n{VIADEO}";
- $this->assertSame("\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu", $this->preferences->getMailSignature());
+ $this->preferences->pref_mail_sign = "{NAME}\r\n\r\n{WEBSITE}\r\n{FACEBOOK}\r\n{TWITTER}\r\n{LINKEDIN}\r\n{VIADEO}";
+ $this->assertSame(
+ "\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu",
+ $this->preferences->getMailSignature($mail)
+ );
$social = new \Galette\Entity\Social($this->zdb);
$this->assertTrue(
);
$this->preferences->pref_mail_sign = "{ASSO_NAME}\r\n\r\n{ASSO_WEBSITE} - {ASSO_SOCIAL_MASTODON}";
- $this->assertSame("\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu - https://framapiaf.org/@galette", $this->preferences->getMailSignature());
+ $this->assertSame(
+ "\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu - https://framapiaf.org/@galette",
+ $this->preferences->getMailSignature($mail)
+ );
$social = new \Galette\Entity\Social($this->zdb);
$this->assertTrue(
2,
\Galette\Entity\Social::getListForMember(null, \Galette\Entity\Social::MASTODON)
);
- $this->assertSame("\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu - https://framapiaf.org/@galette, Galette mastodon URL - the return", $this->preferences->getMailSignature());
+ $this->assertSame(
+ "\r\n-- \r\nGalette\r\n\r\nhttps://galette.eu - https://framapiaf.org/@galette, Galette mastodon URL - the return",
+ $this->preferences->getMailSignature($mail)
+ );
}
/**
{
$legend = $this->preferences->getLegend();
$this->assertCount(2, $legend);
- $this->assertCount(8, $legend['main']['patterns']);
- $this->assertCount(9, $legend['socials']['patterns']);
+ $this->assertCount(9, $legend['main']['patterns']);
+ $this->assertCount(10, $legend['socials']['patterns']);
$this->assertSame(
[
'title' => __('Mastodon'),
$legend = $this->preferences->getLegend();
$this->assertCount(2, $legend);
- $this->assertCount(10, $legend['socials']['patterns']);
+ $this->assertCount(11, $legend['socials']['patterns']);
$this->assertTrue(isset($legend['socials']['patterns']['asso_social_mynewtype']));
$this->assertSame(
[
$legend['socials']['patterns']['asso_social_mynewtype']
);
}
+
+ /**
+ * Test website URL
+ *
+ * @return void
+ */
+ public function testWebsiteURL(): void
+ {
+ $preferences = [];
+ foreach ($this->preferences->getDefaults() as $key => $value) {
+ $preferences[$key] = $value;
+ }
+
+ $post = array_merge($preferences, ['pref_website' => 'https://galette.eu']);
+ $this->assertTrue(
+ $this->preferences->check($post, $this->login),
+ print_r($this->preferences->getErrors(), true)
+ );
+
+ $post = array_merge($preferences, ['pref_website' => 'galette.eu']);
+ $this->assertFalse(
+ $this->preferences->check($post, $this->login),
+ print_r($this->preferences->getErrors(), true)
+ );
+ $this->assertSame(['- Invalid website URL.'], $this->preferences->getErrors());
+ }
}