Comments (4)
it cannot correctly assign the property in the final class
What do you mean by that? Last time I checked it worked fine and all ids were assigned correctly.
Id lives in the child entity by design, because some entities can have a string id (like UUID), but some entities can have it as a number. Having id in a child lets you decide what type each entity needs instead of being bound to just strings.
from domain-driven-hexagon.
I am refactoring a project following the same structure that you have within the DDD folders, and in the tests where I verify the type of the id
property it returns undefined
.
Also when I do a console.log()
of the entire object the _id
property is also undefined
:
User {
_createdAt: 2023-12-27T12:10:06.546Z,
_updatedAt: 2023-12-27T12:10:06.546Z,
props: {
email: '[email protected]',
lastname: 'tester',
name: 'test',
password: Password {
_value: '$2b$10$LW29SqaXA.1e/ruyZjyjNumC7cItPePd2guY9Eq3udPl62iep9l6u'
},
username: 'tested'
},
_id: undefined
}
I thought it was just my mistake, but when I ran the tests that you have in the project, the "create a user" test did not pass either, to run the tests locally I executed the command:
pnpm migration:up:tests
pnpm test
And the tests failed with:
● Create a user › I can create a user
expect(received).toBe(expected) // Object.is equality
Expected: "string"
Received: "undefined"
42 | then('I receive my user ID', () => {
43 | const response = ctx.latestResponse as IdResponse;
> 44 | expect(typeof response.id).toBe('string');
| ^
45 | });
I imagine that the response.id is an extract of the created user id
from domain-driven-hexagon.
You have to run npm run test:e2e
because those are e2e/integration tests.
from domain-driven-hexagon.
The tests passed when I changed the import from crypto.randomUUID
to a named import from the randomUUID
function.
Possibly the problem I am having is due to the version of Typescript or tsup
from domain-driven-hexagon.
Related Issues (20)
- Implement and add examples for Adapters and Providers from Infrastructure folder? HOT 6
- Enable GitHub discussions ? HOT 1
- Correct approach for different types of concept? HOT 1
- UnitOfWork creating many QueryRunners and not release them HOT 4
- Types are incorrect for value object's unpack method
- Dependency Inversion in new version HOT 1
- Queries using repositories HOT 1
- Query handler breaking the dependency rule? HOT 4
- Authentication module HOT 1
- Resolver returning type HOT 1
- resolver return HOT 2
- `StructuredClone()` function converts entity object into plain object, causing `undefined` properties when calling getters HOT 2
- @slonik/migrator is not compatible with slonik 30+ HOT 9
- InternalServerErrorException has incorrect documentation HOT 1
- FindUsersQuery should map data to response in order to avoid leaks HOT 1
- Why are ports defined in infrastructure layer? HOT 2
- Intermittent test failure for create-user HOT 7
- Clarification on the Practical Usage of Domain Services in DDD
- Would this architecture work with Cloudflare Workers? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from domain-driven-hexagon.