For a project I'm working on, we're using sails-mongo for our production database. To keep things as similar as possible for the test suite, I'd like to have string IDs which are effectively ObjectId's.
This didn't work, since the code assumes IDs are auto-increment integers. The code replaced the correct string IDs with undefined. The line that does this is:
This becomes that.idMap[associatedModelName][NaN], which returns undefined. Setting autoAssociations to false didn't solve this. I've added checks to see whether the ID is an integers (or can be coerced to an integer) before replacing the value of the association.
I've also added two new test cases (which can be run using npm run test:...) with string IDs which can be coerced to integers and object IDs which can't be coerced.
For a project I'm working on, we're using sails-mongo for our production database. To keep things as similar as possible for the test suite, I'd like to have string IDs which are effectively ObjectId's.
This didn't work, since the code assumes IDs are auto-increment integers. The code replaced the correct string IDs with
undefined
. The line that does this is:This becomes
that.idMap[associatedModelName][NaN]
, which returnsundefined
. SettingautoAssociations
tofalse
didn't solve this. I've added checks to see whether the ID is an integers (or can be coerced to an integer) before replacing the value of the association.I've also added two new test cases (which can be run using
npm run test:...
) with string IDs which can be coerced to integers and object IDs which can't be coerced.