Skip to content

Commit b2cd509

Browse files
authored
Merge pull request #5 from lmirabal/clearer-naming
Clearer naming
2 parents 66267b8 + 4c9839c commit b2cd509

8 files changed

Lines changed: 22 additions & 23 deletions

File tree

domain/src/main/kotlin/lmirabal/bank/BankService.kt renamed to domain/src/main/kotlin/lmirabal/bank/BankLogic.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,25 @@ import lmirabal.bank.model.BankAccount
88
import lmirabal.bank.model.BankAccountId
99
import lmirabal.bank.model.NotEnoughFunds
1010

11-
class BankService(
12-
private val accountRepository: BankAccountRepository,
11+
class BankLogic(
12+
private val repository: BankAccountRepository,
1313
private val idFactory: () -> BankAccountId = { BankAccountId.random() }
1414
) : Bank {
15-
override fun createAccount(): BankAccount {
16-
return BankAccount(idFactory(), Amount.ZERO)
17-
.also { newAccount -> accountRepository.add(newAccount) }
18-
}
15+
override fun createAccount(): BankAccount =
16+
BankAccount(idFactory(), Amount.ZERO)
17+
.also { newAccount -> repository.add(newAccount) }
1918

20-
override fun listAccounts(): List<BankAccount> = accountRepository.list()
19+
override fun listAccounts(): List<BankAccount> = repository.list()
2120

2221
override fun deposit(id: BankAccountId, amount: Amount): BankAccount {
23-
val account = accountRepository.list().first { it.id == id }
22+
val account = repository.list().first { it.id == id }
2423
return account.deposit(amount)
25-
.also { updatedAccount -> accountRepository.update(updatedAccount) }
24+
.also { updatedAccount -> repository.update(updatedAccount) }
2625
}
2726

2827
override fun withdraw(id: BankAccountId, amount: Amount): Result<BankAccount, NotEnoughFunds> {
29-
val account = accountRepository.list().first { it.id == id }
28+
val account = repository.list().first { it.id == id }
3029
return account.withdraw(amount)
31-
.peek { updatedAccount -> accountRepository.update(updatedAccount) }
30+
.peek { updatedAccount -> repository.update(updatedAccount) }
3231
}
3332
}

domain/src/main/kotlin/lmirabal/bank/model/BankAccount.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ data class BankAccount(val id: BankAccountId, val balance: Amount) {
1212

1313
fun withdraw(amount: Amount): Result<BankAccount, NotEnoughFunds> {
1414
return if (amount <= balance) Success(copy(balance = balance - amount))
15-
else Failure(NotEnoughFunds(id, balance, amount - balance))
15+
else Failure(NotEnoughFunds(id, balance, additionalFundsRequired = amount - balance))
1616
}
1717
}
1818

domain/src/test/kotlin/lmirabal/bank/BankServiceTest.kt renamed to domain/src/test/kotlin/lmirabal/bank/BankLogicTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import lmirabal.bank.model.BankAccount
88
import lmirabal.bank.model.BankAccountId
99
import org.junit.jupiter.api.Test
1010

11-
class BankServiceTest : BankTest() {
11+
class BankLogicTest : BankContract() {
1212
private val idFactory = RecordingIdFactory()
13-
override val bank = BankService(InMemoryBankAccountRepository(), idFactory)
13+
override val bank = BankLogic(InMemoryBankAccountRepository(), idFactory)
1414

1515
@Test
1616
fun createsAnAccount() {

domain/src/testFixtures/kotlin/lmirabal/bank/BankTest.kt renamed to domain/src/testFixtures/kotlin/lmirabal/bank/BankContract.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import lmirabal.bank.model.Amount
99
import lmirabal.bank.model.NotEnoughFunds
1010
import org.junit.jupiter.api.Test
1111

12-
abstract class BankTest {
12+
abstract class BankContract {
1313
abstract val bank: Bank
1414

1515
@Test

http/src/main/kotlin/lmirabal/bank/http/BankHttp.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package lmirabal.bank.http
33
import dev.forkhandles.result4k.map
44
import dev.forkhandles.result4k.recover
55
import lmirabal.bank.Bank
6-
import lmirabal.bank.BankService
6+
import lmirabal.bank.BankLogic
77
import lmirabal.bank.data.InMemoryBankAccountRepository
88
import lmirabal.bank.model.Amount
99
import lmirabal.bank.model.BankAccount
@@ -23,7 +23,7 @@ import org.http4k.routing.bind
2323
import org.http4k.routing.routes
2424
import java.util.UUID
2525

26-
fun bankHttp() = bankHttp(BankService(InMemoryBankAccountRepository()))
26+
fun bankHttp() = bankHttp(BankLogic(InMemoryBankAccountRepository()))
2727

2828
internal const val BANK_ACCOUNTS_BASE_URL = "/bank/accounts"
2929
internal const val BANK_ACCOUNT_DEPOSIT_PATH = "/{id}/deposit"

http/src/test/kotlin/lmirabal/bank/http/BankHttpIntegrationTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package lmirabal.bank.http
22

3-
import lmirabal.bank.BankTest
3+
import lmirabal.bank.BankContract
44
import org.http4k.client.JavaHttpClient
55
import org.http4k.core.Uri
66
import org.http4k.core.then
@@ -10,7 +10,7 @@ import org.http4k.server.asServer
1010
import org.junit.jupiter.api.AfterEach
1111
import org.junit.jupiter.api.BeforeEach
1212

13-
class BankHttpIntegrationTest : BankTest() {
13+
class BankHttpIntegrationTest : BankContract() {
1414
private val server = bankHttp().asServer(SunHttp())
1515
override val bank = BankHttpClient(
1616
SetBaseUriFrom(Uri.of("http://localhost:${server.port()}")).then(JavaHttpClient())
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package lmirabal.bank.http
22

3-
import lmirabal.bank.BankTest
3+
import lmirabal.bank.BankContract
44

5-
class BankHttpTest : BankTest() {
5+
class BankHttpTest : BankContract() {
66
override val bank = BankHttpClient(bankHttp())
77
}

web/src/test/kotlin/lmirabal/bank/web/BankWebTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import dev.forkhandles.result4k.Failure
44
import dev.forkhandles.result4k.Result
55
import dev.forkhandles.result4k.Success
66
import lmirabal.bank.Bank
7-
import lmirabal.bank.BankTest
7+
import lmirabal.bank.BankContract
88
import lmirabal.bank.http.BankHttpClient
99
import lmirabal.bank.http.bankHttp
1010
import lmirabal.bank.model.Amount
@@ -22,7 +22,7 @@ import org.openqa.selenium.WebElement
2222
import java.math.BigDecimal
2323
import java.util.UUID
2424

25-
class BankWebTest : BankTest() {
25+
class BankWebTest : BankContract() {
2626
private val http: HttpHandler = bankHttp()
2727
private val httpClient: Bank = BankHttpClient(http)
2828
private val web: HttpHandler = bankWeb(httpClient)

0 commit comments

Comments
 (0)