├── .gitignore ├── create.sql ├── currency ├── jest.config.js ├── package.json ├── src │ └── main.ts ├── tsconfig.json └── yarn.lock ├── invoice ├── jest.config.js ├── package.json ├── src │ ├── AxiosAdapter.ts │ ├── CalculateInvoice.ts │ ├── Connection.ts │ ├── CurrencyGateway.ts │ ├── CurrencyGatewayHttp.ts │ ├── ExpressAdapter.ts │ ├── HttpClient.ts │ ├── HttpServer.ts │ ├── Invoice.ts │ ├── InvoiceController.ts │ ├── PgPromiseAdapter.ts │ ├── TransactionDAO.ts │ ├── TransactionDAODatabase.ts │ └── main.ts ├── test │ ├── CalculateInvoice.test.ts │ ├── Invoice.test.ts │ └── main.test.ts ├── tsconfig.json └── yarn.lock └── resources ├── clean_architecture.png ├── code_design_architecture.png ├── dip1.png ├── dip2.png ├── portsandadapters.png ├── test_first.png └── test_pyramid.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/.gitignore -------------------------------------------------------------------------------- /create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/create.sql -------------------------------------------------------------------------------- /currency/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/currency/jest.config.js -------------------------------------------------------------------------------- /currency/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/currency/package.json -------------------------------------------------------------------------------- /currency/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/currency/src/main.ts -------------------------------------------------------------------------------- /currency/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/currency/tsconfig.json -------------------------------------------------------------------------------- /currency/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/currency/yarn.lock -------------------------------------------------------------------------------- /invoice/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/jest.config.js -------------------------------------------------------------------------------- /invoice/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/package.json -------------------------------------------------------------------------------- /invoice/src/AxiosAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/AxiosAdapter.ts -------------------------------------------------------------------------------- /invoice/src/CalculateInvoice.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/CalculateInvoice.ts -------------------------------------------------------------------------------- /invoice/src/Connection.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/Connection.ts -------------------------------------------------------------------------------- /invoice/src/CurrencyGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/CurrencyGateway.ts -------------------------------------------------------------------------------- /invoice/src/CurrencyGatewayHttp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/CurrencyGatewayHttp.ts -------------------------------------------------------------------------------- /invoice/src/ExpressAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/ExpressAdapter.ts -------------------------------------------------------------------------------- /invoice/src/HttpClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/HttpClient.ts -------------------------------------------------------------------------------- /invoice/src/HttpServer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/HttpServer.ts -------------------------------------------------------------------------------- /invoice/src/Invoice.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/Invoice.ts -------------------------------------------------------------------------------- /invoice/src/InvoiceController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/InvoiceController.ts -------------------------------------------------------------------------------- /invoice/src/PgPromiseAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/PgPromiseAdapter.ts -------------------------------------------------------------------------------- /invoice/src/TransactionDAO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/TransactionDAO.ts -------------------------------------------------------------------------------- /invoice/src/TransactionDAODatabase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/TransactionDAODatabase.ts -------------------------------------------------------------------------------- /invoice/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/src/main.ts -------------------------------------------------------------------------------- /invoice/test/CalculateInvoice.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/test/CalculateInvoice.test.ts -------------------------------------------------------------------------------- /invoice/test/Invoice.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/test/Invoice.test.ts -------------------------------------------------------------------------------- /invoice/test/main.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/test/main.test.ts -------------------------------------------------------------------------------- /invoice/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/tsconfig.json -------------------------------------------------------------------------------- /invoice/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/invoice/yarn.lock -------------------------------------------------------------------------------- /resources/clean_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/clean_architecture.png -------------------------------------------------------------------------------- /resources/code_design_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/code_design_architecture.png -------------------------------------------------------------------------------- /resources/dip1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/dip1.png -------------------------------------------------------------------------------- /resources/dip2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/dip2.png -------------------------------------------------------------------------------- /resources/portsandadapters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/portsandadapters.png -------------------------------------------------------------------------------- /resources/test_first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/test_first.png -------------------------------------------------------------------------------- /resources/test_pyramid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/hexagonal_architecture_integration_unit_tests/HEAD/resources/test_pyramid.png --------------------------------------------------------------------------------