├── , ├── .gitignore ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── io │ │ └── pillopl │ │ └── testablearch │ │ ├── TestableArchApplication.java │ │ ├── ex1 │ │ ├── Config.java │ │ ├── Customer.java │ │ ├── CustomerRepository.java │ │ ├── EmailService.java │ │ ├── RentCarService.java │ │ ├── RentalsView.java │ │ └── exercise1 │ │ ├── ex2 │ │ ├── acl │ │ │ ├── AclConfiguration.java │ │ │ ├── LendingACL.java │ │ │ ├── reconciliation │ │ │ │ ├── CompositeReaction.java │ │ │ │ ├── Diff.java │ │ │ │ └── Reconciliation.java │ │ │ └── toggles │ │ │ │ └── NewModelToggles.java │ │ ├── bigballofmud │ │ │ ├── BigBallOfMud.java │ │ │ ├── controllers │ │ │ │ └── BookController.java │ │ │ ├── dtos │ │ │ │ ├── BookDto.java │ │ │ │ └── BookRequest.java │ │ │ ├── entities │ │ │ │ ├── BookEntity.java │ │ │ │ ├── BookHolderEntity.java │ │ │ │ └── HolderRentalFeeEntity.java │ │ │ ├── exceptions │ │ │ │ ├── EntityNotFound.java │ │ │ │ ├── InvalidBookCollectionStateException.java │ │ │ │ └── InvalidBookLendingStateException.java │ │ │ ├── rabbitmq │ │ │ │ └── QueueListener.java │ │ │ ├── repositories │ │ │ │ ├── BookHolderRepository.java │ │ │ │ ├── BookRepository.java │ │ │ │ └── HolderRentalFeeRepository.java │ │ │ ├── services │ │ │ │ ├── BookHolderService.java │ │ │ │ ├── BookService.java │ │ │ │ ├── HolderRentalFeeService.java │ │ │ │ └── MailService.java │ │ │ └── util │ │ │ │ └── BooksCalculator.java │ │ ├── exercise2 │ │ ├── exercise2b │ │ └── newmodel │ │ │ ├── catalogue │ │ │ ├── Book.java │ │ │ ├── BookId.java │ │ │ └── ISBN.java │ │ │ └── lending │ │ │ ├── application │ │ │ ├── CollectCommand.java │ │ │ ├── CollectService.java │ │ │ ├── FindAvailableBook.java │ │ │ ├── LendingFacade.java │ │ │ ├── PlaceOnHoldCommand.java │ │ │ ├── PlaceOnHoldService.java │ │ │ ├── Result.java │ │ │ └── readmodel │ │ │ │ ├── CollectedBooksView.java │ │ │ │ ├── LendingQueryFacade.java │ │ │ │ └── PlacedOnHoldBooksView.java │ │ │ ├── domain │ │ │ ├── book │ │ │ │ ├── AvailableBook.java │ │ │ │ ├── Book.java │ │ │ │ ├── BookRepository.java │ │ │ │ └── BookType.java │ │ │ └── patron │ │ │ │ ├── CollectDuration.java │ │ │ │ ├── HoldDuration.java │ │ │ │ ├── PatronId.java │ │ │ │ └── PatronType.java │ │ │ └── infrastructure │ │ │ └── NewModelConfig.java │ │ ├── ex3 │ │ ├── DomainEventsPublisher.java │ │ ├── MessagingApplication.java │ │ ├── application │ │ │ └── ApplyForCardService.java │ │ ├── exercise3 │ │ ├── infrastructure │ │ │ ├── CreditCardJpaRepository.java │ │ │ ├── DomainEventStorage.java │ │ │ ├── FromDBDomainEventPublisher.java │ │ │ └── RabbitMqDomainEventPublisher.java │ │ ├── model │ │ │ ├── CardApplicationRejected.java │ │ │ ├── CardGranted.java │ │ │ ├── CreditCard.java │ │ │ ├── CreditCardRepository.java │ │ │ └── DomainEvent.java │ │ └── ui │ │ │ └── CreditCardApplicationController.java │ │ └── questions │ │ ├── LeaveService.java │ │ ├── Result.java │ │ ├── question1 │ │ ├── question2 │ │ └── question3 └── resources │ └── application.properties └── test └── java └── io └── pillopl └── testablearch ├── TestableArchApplicationTests.java ├── ex1 ├── CustomerTest.java └── RentCarServiceIntegrationTest.java ├── ex2 ├── acl │ ├── LendingAclTest.java │ ├── SanityFeatureToggleTest.java │ └── reconciliation │ │ └── ReconciliationTest.java └── bigballofmud │ ├── BlackBoxScenarios.java │ ├── Fixtures.java │ └── TestOfArchitecture.java └── ex3 └── ui ├── AsyncEventsEmission.java ├── CreditCardApplicationControllerIntegrationTest.java ├── CreditCardApplicationControllerIntegrationTestMockMvc.java └── CreditCardApplicationControllerUnitTest.java /,: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/, -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/.gitignore -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/TestableArchApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/TestableArchApplication.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/Config.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/Config.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/Customer.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/CustomerRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/CustomerRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/EmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/EmailService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/RentCarService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/RentCarService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/RentalsView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/RentalsView.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex1/exercise1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex1/exercise1 -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/AclConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/AclConfiguration.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/LendingACL.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/LendingACL.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/CompositeReaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/CompositeReaction.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/Diff.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/Diff.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/Reconciliation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/reconciliation/Reconciliation.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/acl/toggles/NewModelToggles.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/acl/toggles/NewModelToggles.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/BigBallOfMud.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/BigBallOfMud.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/controllers/BookController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/controllers/BookController.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/dtos/BookDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/dtos/BookDto.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/dtos/BookRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/dtos/BookRequest.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/BookEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/BookEntity.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/BookHolderEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/BookHolderEntity.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/HolderRentalFeeEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/entities/HolderRentalFeeEntity.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/EntityNotFound.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/EntityNotFound.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/InvalidBookCollectionStateException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/InvalidBookCollectionStateException.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/InvalidBookLendingStateException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/exceptions/InvalidBookLendingStateException.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/rabbitmq/QueueListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/rabbitmq/QueueListener.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/BookHolderRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/BookHolderRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/BookRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/BookRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/HolderRentalFeeRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/repositories/HolderRentalFeeRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/BookHolderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/BookHolderService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/BookService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/BookService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/HolderRentalFeeService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/HolderRentalFeeService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/MailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/services/MailService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/bigballofmud/util/BooksCalculator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/bigballofmud/util/BooksCalculator.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/exercise2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/exercise2 -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/exercise2b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/exercise2b -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/Book.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/BookId.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/BookId.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/ISBN.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/catalogue/ISBN.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/CollectCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/CollectCommand.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/CollectService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/CollectService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/FindAvailableBook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/FindAvailableBook.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/LendingFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/LendingFacade.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/PlaceOnHoldCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/PlaceOnHoldCommand.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/PlaceOnHoldService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/PlaceOnHoldService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/Result.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/Result.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/CollectedBooksView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/CollectedBooksView.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/LendingQueryFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/LendingQueryFacade.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/PlacedOnHoldBooksView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/application/readmodel/PlacedOnHoldBooksView.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/AvailableBook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/AvailableBook.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/Book.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/BookRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/BookRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/BookType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/book/BookType.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/CollectDuration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/CollectDuration.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/HoldDuration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/HoldDuration.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/PatronId.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/PatronId.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/PatronType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/domain/patron/PatronType.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/infrastructure/NewModelConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex2/newmodel/lending/infrastructure/NewModelConfig.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/DomainEventsPublisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/DomainEventsPublisher.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/MessagingApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/MessagingApplication.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/application/ApplyForCardService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/application/ApplyForCardService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/exercise3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/exercise3 -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/infrastructure/CreditCardJpaRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/infrastructure/CreditCardJpaRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/infrastructure/DomainEventStorage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/infrastructure/DomainEventStorage.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/infrastructure/FromDBDomainEventPublisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/infrastructure/FromDBDomainEventPublisher.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/infrastructure/RabbitMqDomainEventPublisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/infrastructure/RabbitMqDomainEventPublisher.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/model/CardApplicationRejected.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/model/CardApplicationRejected.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/model/CardGranted.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/model/CardGranted.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/model/CreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/model/CreditCard.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/model/CreditCardRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/model/CreditCardRepository.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/model/DomainEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/model/DomainEvent.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationController.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/questions/LeaveService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/questions/LeaveService.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/questions/Result.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/questions/Result.java -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/questions/question1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/questions/question1 -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/questions/question2: -------------------------------------------------------------------------------- 1 | 2 | https://bit.ly/304vSK6 3 | 4 | 1. Do I always need modularization? -------------------------------------------------------------------------------- /src/main/java/io/pillopl/testablearch/questions/question3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/main/java/io/pillopl/testablearch/questions/question3 -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/TestableArchApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/TestableArchApplicationTests.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex1/CustomerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex1/CustomerTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex1/RentCarServiceIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex1/RentCarServiceIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/acl/LendingAclTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/acl/LendingAclTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/acl/SanityFeatureToggleTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/acl/SanityFeatureToggleTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/acl/reconciliation/ReconciliationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/acl/reconciliation/ReconciliationTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/bigballofmud/BlackBoxScenarios.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/bigballofmud/BlackBoxScenarios.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/bigballofmud/Fixtures.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/bigballofmud/Fixtures.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex2/bigballofmud/TestOfArchitecture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex2/bigballofmud/TestOfArchitecture.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex3/ui/AsyncEventsEmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex3/ui/AsyncEventsEmission.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerIntegrationTestMockMvc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerIntegrationTestMockMvc.java -------------------------------------------------------------------------------- /src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pilloPl/testable-arch/HEAD/src/test/java/io/pillopl/testablearch/ex3/ui/CreditCardApplicationControllerUnitTest.java --------------------------------------------------------------------------------