Page MenuHomePhorge

D5727.1775203853.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D5727.1775203853.diff

diff --git a/src/app/Jobs/User/CreateJob.php b/src/app/Jobs/User/CreateJob.php
--- a/src/app/Jobs/User/CreateJob.php
+++ b/src/app/Jobs/User/CreateJob.php
@@ -109,8 +109,8 @@
throw new \Exception("Failed to create mailbox for user {$user->email}.");
}
} catch (MailboxExistsException $e) {
- $this->fail($e);
- return;
+ // Ignore "mailbox exists" case, but we still have to set the IMAP_READY status.
+ // So, there should be no fail() nor "return" here.
}
} else {
if (!IMAP::verifyAccount($user->email)) {
diff --git a/src/tests/Feature/Jobs/User/CreateTest.php b/src/tests/Feature/Jobs/User/CreateTest.php
--- a/src/tests/Feature/Jobs/User/CreateTest.php
+++ b/src/tests/Feature/Jobs/User/CreateTest.php
@@ -69,10 +69,14 @@
$user->status ^= User::STATUS_IMAP_READY;
$user->saveQuietly();
IMAP::shouldReceive('createUser')->once()->with($user)->andThrow(new MailboxExistsException());
+ DAV::shouldReceive('initDefaultFolders')->once()->with($user);
$job = (new CreateJob($user->id))->withFakeQueueInteractions();
$job->handle();
- $job->assertFailedWith(MailboxExistsException::class);
+ $job->assertNotFailed();
+
+ $user->refresh();
+ $this->assertTrue($user->isImapReady());
// Test deleted user
$user->deleteQuietly();

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 8:10 AM (14 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18812259
Default Alt Text
D5727.1775203853.diff (1 KB)

Event Timeline