renamed "test" package to "common" and added stereotype annotations

This commit is contained in:
Tom Hombergs
2019-11-16 09:00:02 +11:00
parent 1046711f19
commit 12447ea195
14 changed files with 24 additions and 45 deletions

View File

@@ -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 {

View File

@@ -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

View File

@@ -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 {

View File

@@ -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;

View File

@@ -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 {
}
}

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;

View File

@@ -1,4 +1,4 @@
package io.reflectoring.buckpal.testdata;
package io.reflectoring.buckpal.common;
import java.time.LocalDateTime;

View File

@@ -1,4 +1,4 @@
package io.reflectoring.buckpal.testdata;
package io.reflectoring.buckpal.common;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;

View File

@@ -1,4 +1,4 @@
package io.reflectoring.buckpal.testdata;
package io.reflectoring.buckpal.common;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;

View File

@@ -1,4 +1,4 @@
package io.reflectoring.buckpal.testdata;
package io.reflectoring.buckpal.common;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;

View File

@@ -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;

View File

@@ -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 "";
}