Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit a7ca6188 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add account uuid

parent 8f911650
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ package app.k9mail.feature.account.common.domain.entity
import com.fsck.k9.mail.ServerSettings

data class Account(
    val uuid: String,
    val emailAddress: String,
    val incomingServerSettings: ServerSettings,
    val outgoingServerSettings: ServerSettings,
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ package app.k9mail.feature.account.common.domain.entity
import com.fsck.k9.mail.ServerSettings

data class AccountState(
    val uuid: String? = null,
    val emailAddress: String? = null,
    val incomingServerSettings: ServerSettings? = null,
    val outgoingServerSettings: ServerSettings? = null,
+5 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ class InMemoryAccountStateRepositoryTest {

        assertThat(result).isEqualTo(
            AccountState(
                uuid = null,
                emailAddress = null,
                incomingServerSettings = null,
                outgoingServerSettings = null,
@@ -33,6 +34,7 @@ class InMemoryAccountStateRepositoryTest {
    fun `should save state`() {
        val testSubject = InMemoryAccountStateRepository(
            AccountState(
                uuid = "uuid",
                emailAddress = "emailAddress",
                incomingServerSettings = INCOMING_SERVER_SETTINGS,
                outgoingServerSettings = OUTGOING_SERVER_SETTINGS,
@@ -41,6 +43,7 @@ class InMemoryAccountStateRepositoryTest {
            ),
        )
        val newState = AccountState(
            uuid = "uuid2",
            emailAddress = "emailAddress2",
            incomingServerSettings = INCOMING_SERVER_SETTINGS.copy(host = "imap2.example.org"),
            outgoingServerSettings = OUTGOING_SERVER_SETTINGS.copy(host = "smtp2.example.org"),
@@ -114,6 +117,7 @@ class InMemoryAccountStateRepositoryTest {
    fun `should clear state`() {
        val testSubject = InMemoryAccountStateRepository(
            AccountState(
                uuid = "uuid",
                emailAddress = "emailAddress",
                incomingServerSettings = INCOMING_SERVER_SETTINGS,
                outgoingServerSettings = OUTGOING_SERVER_SETTINGS,
@@ -126,6 +130,7 @@ class InMemoryAccountStateRepositoryTest {

        assertThat(testSubject.getState()).isEqualTo(
            AccountState(
                uuid = null,
                emailAddress = null,
                incomingServerSettings = null,
                outgoingServerSettings = null,
+3 −0
Original line number Diff line number Diff line
@@ -6,9 +6,11 @@ import app.k9mail.feature.account.setup.AccountSetupExternalContract.AccountCrea
import app.k9mail.feature.account.setup.AccountSetupExternalContract.AccountCreator.AccountCreatorResult
import app.k9mail.feature.account.setup.domain.DomainContract.UseCase
import com.fsck.k9.mail.ServerSettings
import java.util.UUID

class CreateAccount(
    private val accountCreator: AccountCreator,
    private val uuidGenerator: () -> String = { UUID.randomUUID().toString() },
) : UseCase.CreateAccount {
    override suspend fun execute(
        emailAddress: String,
@@ -18,6 +20,7 @@ class CreateAccount(
        options: AccountOptions,
    ): String {
        val account = Account(
            uuid = uuidGenerator(),
            emailAddress = emailAddress,
            incomingServerSettings = incomingServerSettings,
            outgoingServerSettings = outgoingServerSettings,
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ class CreateAccountTest {
                recordedAccount = account
                AccountCreatorResult.Success(accountUuid = "uuid")
            },
            uuidGenerator = { "uuid" },
        )

        val emailAddress = "user@example.com"
@@ -65,6 +66,7 @@ class CreateAccountTest {
        assertThat(result).isEqualTo("uuid")
        assertThat(recordedAccount).isEqualTo(
            Account(
                uuid = "uuid",
                emailAddress = emailAddress,
                incomingServerSettings = incomingServerSettings,
                outgoingServerSettings = outgoingServerSettings,