Add capability-first account and calendar setup flow

This commit is contained in:
Burak Kaan Köse
2026-04-20 19:38:30 +02:00
parent 54148716bb
commit d85812ed7b
41 changed files with 1369 additions and 333 deletions
+3
View File
@@ -0,0 +1,3 @@
using Xunit;
[assembly: CollectionBehavior(DisableTestParallelization = true)]
@@ -83,7 +83,7 @@ public class AccountServiceTests : IAsyncLifetime
var secondAccountId = Guid.NewGuid();
await _accountService.CreateAccountAsync(
CreateImapAccount(firstAccountId),
CreateImapAccount(firstAccountId, "IMAP Test Account 1", "imap1@test.local"),
new CustomServerInformation
{
Id = Guid.NewGuid(),
@@ -92,7 +92,7 @@ public class AccountServiceTests : IAsyncLifetime
});
await _accountService.CreateAccountAsync(
CreateImapAccount(secondAccountId),
CreateImapAccount(secondAccountId, "IMAP Test Account 2", "imap2@test.local"),
new CustomServerInformation
{
Id = Guid.NewGuid(),
@@ -119,13 +119,13 @@ public class AccountServiceTests : IAsyncLifetime
.BeGreaterThanOrEqualTo(50);
}
private static MailAccount CreateImapAccount(Guid accountId)
private static MailAccount CreateImapAccount(Guid accountId, string name = "IMAP Test Account", string address = "imap@test.local")
{
return new MailAccount
{
Id = accountId,
Name = "IMAP Test Account",
Address = "imap@test.local",
Name = name,
Address = address,
SenderName = "IMAP Test",
ProviderType = MailProviderType.IMAP4
};
@@ -13,6 +13,8 @@ public sealed class MailRequestStateTests
[Fact]
public void MarkReadRequest_RevertUiChanges_RestoresOriginalReadState()
{
WeakReferenceMessenger.Default.Reset();
var mailCopy = CreateMailCopy(isRead: false, isFlagged: false);
var request = new MarkReadRequest(mailCopy, IsRead: true);
var recipient = new MailRequestRecipient();
@@ -35,12 +37,15 @@ public sealed class MailRequestStateTests
finally
{
WeakReferenceMessenger.Default.UnregisterAll(recipient);
WeakReferenceMessenger.Default.Reset();
}
}
[Fact]
public void ChangeFlagRequest_RevertUiChanges_RestoresOriginalFlagState()
{
WeakReferenceMessenger.Default.Reset();
var mailCopy = CreateMailCopy(isRead: true, isFlagged: false);
var request = new ChangeFlagRequest(mailCopy, IsFlagged: true);
var recipient = new MailRequestRecipient();
@@ -63,6 +68,7 @@ public sealed class MailRequestStateTests
finally
{
WeakReferenceMessenger.Default.UnregisterAll(recipient);
WeakReferenceMessenger.Default.Reset();
}
}
@@ -21,6 +21,8 @@ public sealed class BaseSynchronizerUiChangeTests
[Fact]
public void ApplyOptimisticUiChanges_UsesBundleUiChangeRequest_ForBatchBundle()
{
WeakReferenceMessenger.Default.Reset();
var folderId = Guid.NewGuid();
var account = new MailAccount { Id = Guid.NewGuid(), Name = "Test account" };
var synchronizer = new TestSynchronizer(account);
@@ -48,6 +50,7 @@ public sealed class BaseSynchronizerUiChangeTests
{
WeakReferenceMessenger.Default.Unregister<MailStateUpdatedMessage>(recipient);
WeakReferenceMessenger.Default.Unregister<BulkMailStateUpdatedMessage>(recipient);
WeakReferenceMessenger.Default.Reset();
}
}