Loading feature/account/common/src/main/kotlin/app/k9mail/feature/account/common/domain/entity/Account.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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, Loading feature/account/common/src/main/kotlin/app/k9mail/feature/account/common/domain/entity/AccountState.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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, Loading feature/account/common/src/test/kotlin/app/k9mail/feature/account/common/data/InMemoryAccountStateRepositoryTest.kt +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ class InMemoryAccountStateRepositoryTest { assertThat(result).isEqualTo( AccountState( uuid = null, emailAddress = null, incomingServerSettings = null, outgoingServerSettings = null, Loading @@ -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, Loading @@ -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"), Loading Loading @@ -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, Loading @@ -126,6 +130,7 @@ class InMemoryAccountStateRepositoryTest { assertThat(testSubject.getState()).isEqualTo( AccountState( uuid = null, emailAddress = null, incomingServerSettings = null, outgoingServerSettings = null, Loading feature/account/setup/src/main/kotlin/app/k9mail/feature/account/setup/domain/usecase/CreateAccount.kt +3 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -18,6 +20,7 @@ class CreateAccount( options: AccountOptions, ): String { val account = Account( uuid = uuidGenerator(), emailAddress = emailAddress, incomingServerSettings = incomingServerSettings, outgoingServerSettings = outgoingServerSettings, Loading feature/account/setup/src/test/kotlin/app/k9mail/feature/account/setup/domain/usecase/CreateAccountTest.kt +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ class CreateAccountTest { recordedAccount = account AccountCreatorResult.Success(accountUuid = "uuid") }, uuidGenerator = { "uuid" }, ) val emailAddress = "user@example.com" Loading Loading @@ -65,6 +66,7 @@ class CreateAccountTest { assertThat(result).isEqualTo("uuid") assertThat(recordedAccount).isEqualTo( Account( uuid = "uuid", emailAddress = emailAddress, incomingServerSettings = incomingServerSettings, outgoingServerSettings = outgoingServerSettings, Loading Loading
feature/account/common/src/main/kotlin/app/k9mail/feature/account/common/domain/entity/Account.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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, Loading
feature/account/common/src/main/kotlin/app/k9mail/feature/account/common/domain/entity/AccountState.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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, Loading
feature/account/common/src/test/kotlin/app/k9mail/feature/account/common/data/InMemoryAccountStateRepositoryTest.kt +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ class InMemoryAccountStateRepositoryTest { assertThat(result).isEqualTo( AccountState( uuid = null, emailAddress = null, incomingServerSettings = null, outgoingServerSettings = null, Loading @@ -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, Loading @@ -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"), Loading Loading @@ -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, Loading @@ -126,6 +130,7 @@ class InMemoryAccountStateRepositoryTest { assertThat(testSubject.getState()).isEqualTo( AccountState( uuid = null, emailAddress = null, incomingServerSettings = null, outgoingServerSettings = null, Loading
feature/account/setup/src/main/kotlin/app/k9mail/feature/account/setup/domain/usecase/CreateAccount.kt +3 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -18,6 +20,7 @@ class CreateAccount( options: AccountOptions, ): String { val account = Account( uuid = uuidGenerator(), emailAddress = emailAddress, incomingServerSettings = incomingServerSettings, outgoingServerSettings = outgoingServerSettings, Loading
feature/account/setup/src/test/kotlin/app/k9mail/feature/account/setup/domain/usecase/CreateAccountTest.kt +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ class CreateAccountTest { recordedAccount = account AccountCreatorResult.Success(accountUuid = "uuid") }, uuidGenerator = { "uuid" }, ) val emailAddress = "user@example.com" Loading Loading @@ -65,6 +66,7 @@ class CreateAccountTest { assertThat(result).isEqualTo("uuid") assertThat(recordedAccount).isEqualTo( Account( uuid = "uuid", emailAddress = emailAddress, incomingServerSettings = incomingServerSettings, outgoingServerSettings = outgoingServerSettings, Loading