renamed "test" package to "common" and added stereotype annotations
This commit is contained in:
@@ -7,7 +7,7 @@ import java.util.List;
|
||||
|
||||
import io.reflectoring.buckpal.application.port.out.LoadAccountPort;
|
||||
import io.reflectoring.buckpal.application.port.out.UpdateAccountStatePort;
|
||||
import io.reflectoring.buckpal.testdata.PersistenceAdapter;
|
||||
import io.reflectoring.buckpal.common.PersistenceAdapter;
|
||||
import io.reflectoring.buckpal.domain.Account;
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import io.reflectoring.buckpal.domain.Activity;
|
||||
@@ -15,7 +15,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Component
|
||||
@PersistenceAdapter
|
||||
class AccountPersistenceAdapter implements
|
||||
LoadAccountPort,
|
||||
UpdateAccountStatePort {
|
||||
|
||||
@@ -11,8 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.jdbc.Sql;
|
||||
import static io.reflectoring.buckpal.testdata.AccountTestData.*;
|
||||
import static io.reflectoring.buckpal.testdata.ActivityTestData.*;
|
||||
import static io.reflectoring.buckpal.common.AccountTestData.*;
|
||||
import static io.reflectoring.buckpal.common.ActivityTestData.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
@DataJpaTest
|
||||
|
||||
@@ -2,6 +2,7 @@ package io.reflectoring.buckpal.adapter.web;
|
||||
|
||||
import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase;
|
||||
import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase.SendMoneyCommand;
|
||||
import io.reflectoring.buckpal.common.WebAdapter;
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import io.reflectoring.buckpal.domain.Money;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -9,6 +10,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@WebAdapter
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class SendMoneyController {
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.reflectoring.buckpal.application.port.in;
|
||||
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import io.reflectoring.buckpal.domain.Money;
|
||||
import io.reflectoring.buckpal.testdata.SelfValidating;
|
||||
import io.reflectoring.buckpal.common.SelfValidating;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
|
||||
|
||||
@@ -4,17 +4,16 @@ import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase;
|
||||
import io.reflectoring.buckpal.application.port.out.AccountLock;
|
||||
import io.reflectoring.buckpal.application.port.out.LoadAccountPort;
|
||||
import io.reflectoring.buckpal.application.port.out.UpdateAccountStatePort;
|
||||
import io.reflectoring.buckpal.common.UseCase;
|
||||
import io.reflectoring.buckpal.domain.Account;
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import io.reflectoring.buckpal.testdata.UseCase;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Component
|
||||
@UseCase
|
||||
@Transactional
|
||||
public class SendMoneyService implements SendMoneyUseCase {
|
||||
|
||||
@@ -39,9 +38,9 @@ public class SendMoneyService implements SendMoneyUseCase {
|
||||
baselineDate);
|
||||
|
||||
AccountId sourceAccountId = sourceAccount.getId()
|
||||
.orElseThrow(() -> new IllegalStateException("expected source account ID not to be empty"));
|
||||
.orElseThrow(() -> new IllegalStateException("expected source account ID not to be empty"));
|
||||
AccountId targetAccountId = targetAccount.getId()
|
||||
.orElseThrow(() -> new IllegalStateException("expected target account ID not to be empty"));
|
||||
.orElseThrow(() -> new IllegalStateException("expected target account ID not to be empty"));
|
||||
|
||||
accountLock.lockAccount(sourceAccountId);
|
||||
if (!sourceAccount.withdraw(command.getMoney(), targetAccountId)) {
|
||||
@@ -71,3 +70,7 @@ public class SendMoneyService implements SendMoneyUseCase {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package io.reflectoring.buckpal.domain;
|
||||
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static io.reflectoring.buckpal.testdata.AccountTestData.*;
|
||||
import static io.reflectoring.buckpal.testdata.ActivityTestData.*;
|
||||
import static io.reflectoring.buckpal.common.AccountTestData.*;
|
||||
import static io.reflectoring.buckpal.common.ActivityTestData.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
class AccountTest {
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.time.LocalDateTime;
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static io.reflectoring.buckpal.testdata.ActivityTestData.*;
|
||||
import static io.reflectoring.buckpal.common.ActivityTestData.*;
|
||||
|
||||
class ActivityWindowTest {
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import io.reflectoring.buckpal.domain.Account;
|
||||
import io.reflectoring.buckpal.domain.Account.AccountId;
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
import javax.validation.ConstraintViolationException;
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
package io.reflectoring.buckpal.common;
|
||||
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -1,26 +0,0 @@
|
||||
package io.reflectoring.buckpal.testdata;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Target({ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
@Component
|
||||
public @interface OutputAdapter {
|
||||
|
||||
/**
|
||||
* The value may indicate a suggestion for a logical component name,
|
||||
* to be turned into a Spring bean in case of an autodetected component.
|
||||
* @return the suggested component name, if any (or empty String otherwise)
|
||||
*/
|
||||
@AliasFor(annotation = Component.class)
|
||||
String value() default "";
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user