Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzulan <git@zulan.net>2018-09-24 23:54:57 +0300
committerzulan <git@zulan.net>2018-10-15 20:01:46 +0300
commitcf266ee00491bc0e70fbbb7dc9720a9e2f8c3708 (patch)
tree54778b79b3db543bd6d2fad3af02fe51afdb1ce9 /tests/Settings
parent50a280338e22f34e66f03c1c069fffbf32c912b2 (diff)
Get l10n within NewUserMailHelper to ensure it always uses the new user's language.
Some related tests had to be changed because they relied on internals, see also from the PHPUnit documentation: "Exercise caution when using [the at] matcher as it can lead to brittle tests which are too closely tied to specific implementation details." Signed-off-by: Zulan <git@zulan.net>
Diffstat (limited to 'tests/Settings')
-rw-r--r--tests/Settings/Mailer/NewUserMailHelperTest.php30
1 files changed, 14 insertions, 16 deletions
diff --git a/tests/Settings/Mailer/NewUserMailHelperTest.php b/tests/Settings/Mailer/NewUserMailHelperTest.php
index d59b371acfd..5eccc5bc9f4 100644
--- a/tests/Settings/Mailer/NewUserMailHelperTest.php
+++ b/tests/Settings/Mailer/NewUserMailHelperTest.php
@@ -22,6 +22,7 @@
namespace Tests\Settings\Mailer;
use OC\Mail\EMailTemplate;
+use OCP\L10N\IFactory;
use OCP\Mail\IEMailTemplate;
use OC\Mail\Message;
use OC\Settings\Mailer\NewUserMailHelper;
@@ -64,6 +65,7 @@ class NewUserMailHelperTest extends TestCase {
->willReturn('myLogo');
$this->urlGenerator = $this->createMock(IURLGenerator::class);
$this->l10n = $this->createMock(IL10N::class);
+ $this->l10nFactory = $this->createMock(IFactory::class);
$this->mailer = $this->createMock(IMailer::class);
$template = new EMailTemplate(
$this->defaults,
@@ -82,11 +84,15 @@ class NewUserMailHelperTest extends TestCase {
->will($this->returnCallback(function ($text, $parameters = []) {
return vsprintf($text, $parameters);
}));
+ $this->l10nFactory->method('get')
+ ->will($this->returnCallback(function ($text, $lang) {
+ return $this->l10n;
+ }));
$this->newUserMailHelper = new NewUserMailHelper(
$this->defaults,
$this->urlGenerator,
- $this->l10n,
+ $this->l10nFactory,
$this->mailer,
$this->secureRandom,
$this->timeFactory,
@@ -113,15 +119,11 @@ class NewUserMailHelperTest extends TestCase {
/** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$user
- ->expects($this->at(0))
- ->method('getEmailAddress')
- ->willReturn('recipient@example.com');
- $user
- ->expects($this->at(1))
+ ->expects($this->any())
->method('getEmailAddress')
->willReturn('recipient@example.com');
$this->config
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getSystemValue')
->with('secret')
->willReturn('MyInstanceWideSecret');
@@ -131,24 +133,20 @@ class NewUserMailHelperTest extends TestCase {
->with('12345:MySuperLongSecureRandomToken', 'recipient@example.comMyInstanceWideSecret')
->willReturn('TokenCiphertext');
$user
- ->expects($this->at(2))
+ ->expects($this->any())
->method('getUID')
->willReturn('john');
$this->config
- ->expects($this->at(1))
+ ->expects($this->once())
->method('setUserValue')
->with('john', 'core', 'lostpassword', 'TokenCiphertext');
- $user
- ->expects($this->at(3))
- ->method('getUID')
- ->willReturn('john');
$this->urlGenerator
->expects($this->at(0))
->method('linkToRouteAbsolute')
->with('core.lost.resetform', ['userId' => 'john', 'token' => 'MySuperLongSecureRandomToken'])
->willReturn('https://example.com/resetPassword/MySuperLongSecureRandomToken');
$user
- ->expects($this->at(4))
+ ->expects($this->any())
->method('getDisplayName')
->willReturn('john');
$user
@@ -385,11 +383,11 @@ EOF;
/** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$user
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getDisplayName')
->willReturn('John Doe');
$user
- ->expects($this->at(1))
+ ->expects($this->any())
->method('getUID')
->willReturn('john');
$this->defaults