-
Notifications
You must be signed in to change notification settings - Fork 1.1k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
indexes wrong format in integration test #2809
Comments
What connector are you using? It's difficult to answer your question without an application we could use to reproduce the problem ourselves. Please create a small app per our bug reporting instructions. |
I've created a little app (with postgres-connector in todo-example) for you to understand my problem: Steps to reproduce:
I hope this helps you to understand what i am talking about. |
I am afraid I am not able to run your application because I automigration does not work and thus I don't have any way how to create necessary database schemas :( However, I see a problem in your test: const index = repository.getModelIndex();
console.log(index);
expect(index).to.be.type('object[]', 'Should be type array of objects.');
In JavaScript, Arrays are considered as objects. expect(index).to.be.type('object'); You can use expect(index).to.be.instanceof(Array); Another problematic part I noticed: your application is loading & binding
The solution I recommended in the past is to move generic repository classes to a different location where With that change in place, I managed to automigrate the database and run the test suite. AFAICT, this is the value returned by {
todo_bku: { keys: { title: 1, desc: 1 }, options: { unique: true } }
} The value look reasonable to me it's a key-value map where the key is the index name and the value is an object describing (defining) the index. What makes you expect an array value instead? |
I was relatively recently looking into foreign keys and (unique) indexes in #2712, I described the currently available syntax in this document. For the future, I proposed a slightly improved syntax, see #2766. |
I believe the above must be documented somewhere in repositories docs. I was struggling with migration for the past 3 days and finally stumbled upon this message. Priceless! Thank you so much @bajtos |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
I've written an integration test for a function from a repository. I want to check if the model is created correctly but when i am calling "npm test" i am getting an error.
In the function i am accessing the index definition with "repository.modelClass.definition.settings.indexes.preisliste_bku".
When i start the app and debug to this point, the value of the index is an array of objects so that i can use the forEach loop.
The index definition in the "Preisliste"-model:
The array of objects:
But when i am calling the function from the test i am getting the error because "bku.keys" is not an array of objects but an object so the forEach loop does not work.
The format of bku.keys in the test:
I do not understand why the format is diffrent when i start the app and when i am running the test.
Hope the information are sufficient. Thank you guys for any response.
The text was updated successfully, but these errors were encountered: