Commit Graph

368 Commits

Author SHA1 Message Date
Raymond Feng 2a50388894 Make the code testable following the review comments 2014-01-13 11:06:02 -08:00
Raymond Feng acd02bf482 Allows the full module name for connectors 2014-01-09 17:03:37 -08:00
Raymond Feng c9e133d7bc Add a EOL 2013-12-18 17:14:54 -08:00
Raymond Feng e1ec152c78 Add models to LDL options
1. Use 'models' to specify the dependencies to other models
2. The 'models' property is an object, such as:

{
    Model1: 'Model1',
    Model2: Model2
}

3. The model classes will be injected into the newly defined class as
static properties using the keys from the models option.
2013-12-18 16:13:41 -08:00
Raymond Feng aabe5fb1c4 Fix a bug in merging ACLs 2013-12-16 17:14:56 -08:00
Raymond Feng aeecfa5551 Split the tests 2013-12-16 08:36:15 -08:00
Raymond Feng 1b9edbcfcb Fix a regression in mongodb connector 2013-12-15 22:51:47 -08:00
Raymond Feng 9890af119e Check for null & undefined values 2013-12-14 09:54:28 -08:00
Raymond Feng fab504b5d9 Fix the coercion issue related to GeoPoint near 2013-12-14 09:49:11 -08:00
Raymond Feng bf592413e1 Dedupe the alias methods during mixin
To prevent the same method from showing up multiple times in API explorer,
for example, Model.deleteById, Model.removeById
2013-12-13 16:45:31 -08:00
Ritchie Martori 749a494e53 Always call inherits to ensure prototypes are setup 2013-12-13 11:27:29 -08:00
Raymond Feng 441596b870 Merge pull request #47 from strongloop/feature/query-coercing
Coerce query values of where clause based on property types
2013-12-10 10:09:42 -08:00
Raymond Feng 29405976fb Merge settings for base and sub models 2013-12-06 15:52:39 -08:00
Raymond Feng adc9482df0 Enhance the test case with more assertions 2013-12-05 15:19:40 -08:00
Raymond Feng 52d2c8425f Make all methods proxied for DAO 2013-12-04 13:44:25 -08:00
Raymond Feng abe6d2bb22 Add more tests to address the PR comments 2013-12-04 10:00:33 -08:00
Raymond Feng ed6d8839ba Add a test case 2013-12-03 21:27:46 -08:00
Raymond Feng a953ba13de Clone shared methods so that they can be customized per model 2013-12-03 21:14:12 -08:00
Miroslav Bajtos b5e0035d73 Improve properties of ValidationError
- change `statusCode` from 400 to 422
- nest `context` and `codes` inside `details`
- add `details.messages`
- reword the main error message

Remove the call to Error's constructor from ValidationError constructor,
because it's a no-op - Error's constructor creates a new
instance when called via `.call()`.
2013-12-02 21:35:47 +01:00
Raymond Feng 995a2139c8 Rename association to relation 2013-11-15 20:29:20 -08:00
Raymond Feng 7aa2eefec4 Remove inheritence from DataSource to ModelBuilder 2013-11-08 17:13:00 -08:00
Raymond Feng 92d369e609 Add more assertions 2013-11-08 09:02:17 -08:00
Raymond Feng 0b899b0542 Allow settings.base to specify the base model 2013-11-07 17:11:17 -08:00
Raymond Feng 89a30e7edd Add a test case for relations during attach 2013-11-07 13:28:18 -08:00
Raymond Feng 68cf633795 Add support for hasMany-through and more tests 2013-11-05 09:29:24 -08:00
Raymond Feng 4fbec288c4 Enable deferred type/relation resolutions 2013-11-04 22:53:02 -08:00
Ritchie Martori 65bb5c8ead Merge pull request #33 from strongloop/get-datasource
Remove model.dataSource property / Add model.getDataSource() method
2013-10-31 14:50:56 -07:00
Ritchie Martori 597a775e4c Add model.getDataSource() method 2013-10-31 11:46:12 -07:00
Raymond Feng d0055d8591 Fix removeUndefined to bypass non-plain objects
traverse.map() transform custom objects such as Date or ObjectID into
plain objects and it breaks the BSON serialization
2013-10-29 22:16:43 -07:00
Raymond Feng f3011216b5 Support datasource/connector configuration using URL string 2013-10-25 16:18:02 -07:00
Raymond Feng bcf112f042 Add index to name prop 2013-10-17 14:24:47 -07:00
Raymond Feng 9ec9f654c7 Remove undefined values from the query object 2013-10-11 11:50:00 -07:00
Raymond Feng 931636eda4 Allow the id(s) to be redefined by subclass 2013-10-06 21:13:52 -07:00
Raymond Feng 294ebc1ccf Allow to reference a model as type by name 2013-10-05 11:13:10 -07:00
Raymond Feng 7f170a0542 Add more tests and fix toJSON 2013-10-04 21:21:12 -07:00
Raymond Feng 24d87976e8 Merge branch 'master' into juggler-tidyup
Conflicts:
	lib/model.js
2013-10-04 14:32:51 -07:00
Raymond Feng 1963ea9fb1 Use ModelDefinition to access model name/properties/settings 2013-10-02 15:18:50 -07:00
Raymond Feng fad6ee5e1d Refactor/cleanup the data source juggler implementation
- Add a ModelDefinition class to encapsulate the model schema handling
- Add a Connector class as the base class for connector implementations
- Optimize attachTo and mixin
- Rename some properties/methods
2013-10-01 22:14:21 -07:00
Raymond Feng 1575c87caf Make sure schemaless property value is honored over __data 2013-09-18 16:34:52 -07:00
Raymond Feng c2eb1f55f0 Fix the property population for schemaless models 2013-08-28 21:49:05 -07:00
Raymond Feng 04ca1a6333 Clean up the test case based on PR reviews 2013-08-27 10:14:49 -07:00
Raymond Feng 59841a04a8 Set strict to false by default for non-relational data sources 2013-08-26 13:38:24 -07:00
Raymond Feng 463bf69ffc Fix the test description 2013-08-19 10:35:52 -07:00
Raymond Feng 9482d3c7de Fix the where option for delete 2013-08-18 10:58:53 -07:00
Raymond Feng d697fb5d4e Remove the semicov dependency as now we use blanket 2013-08-15 14:10:13 -07:00
Raymond Feng 0a5c0ff77d Refactor introspection to ModelBuilder 2013-08-07 14:51:32 -07:00
Raymond Feng f3443959a1 Rename 'loopback-data' to 'loopback-datasource-juggler' 2013-07-30 14:10:03 -07:00
Raymond Feng 57c181c8b9 Bring up json object introspection to build models 2013-07-26 13:06:43 -07:00
Raymond Feng 8c1a102179 Rename the test case 2013-07-24 23:04:13 -07:00
Raymond Feng 9b422752a6 Allows non-strict mode to accept unknown properties 2013-07-24 22:58:57 -07:00
Raymond Feng 6af4b1ba2f More renames: schema -> dataSource, adapter -> connector 2013-07-23 11:16:43 -07:00
Raymond Feng eeda934cc1 Rename the test case 2013-07-22 13:49:35 -07:00
Raymond Feng 2e81598006 ADL --> LDL 2013-07-22 13:48:28 -07:00
Ritchie Martori d4ca20c01a Add filter.fields support to dao and memory connector 2013-07-16 17:53:52 -07:00
Raymond Feng be21815e7b Rename jugglingdb to loopback-data 2013-07-16 11:59:53 -07:00
Raymond Feng 8e01e17bdb Add support for nesting objects with an array 2013-07-12 18:59:43 -07:00
Raymond Feng 4cd9ea49ec Add plain string array 2013-07-12 12:39:38 -07:00
Raymond Feng 09ab8356b8 Fix the array data population 2013-07-12 12:36:14 -07:00
Raymond Feng 194f68468a Add support for nesting schema 2013-07-11 14:24:47 -07:00
Ritchie Martori 522291bf08 Add support for extending models 2013-07-01 16:49:43 -07:00
Ritchie Martori dbd5efed50 Revert adapter serialization. Remove geo point distance indicator. 2013-07-01 13:16:51 -07:00
Ritchie Martori 008b406dd7 model.find => model.findById, model.all => model.find 2013-06-24 12:42:58 -07:00
Raymond Feng 7b861c2aac Update buildModels and support associations via foreign keys 2013-05-31 10:25:11 -07:00
Raymond Feng 771bf70ec5 Add options including default 2013-05-28 15:40:16 -07:00
Raymond Feng 2a15926318 Add test cases for loading json doc 2013-05-28 15:26:12 -07:00
Raymond Feng 465a963d2d Adding more tests 2013-05-28 13:50:59 -07:00
Anatoliy Chakkaev f98f62388d Temp. disable test for validation 2013-05-13 22:04:29 -07:00
Anatoliy Chakkaev 06641da2c6 Add context info to validation error 2013-05-13 22:04:29 -07:00
dgsan 1a91605340 Adds test for limit and skip + limit on `all()` queries as in docs.
(Currently not all adapters may pass.)
2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 83027f9ead Accept related objects when creating instance #247 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev eecbd32d07 Allow null properties for headless models 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev a67f75f0be Check types of sync and async getters created by belongsTo, close #266 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev a73f53521e Fix m2m: only add fk when hasMany have no "through" 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev c9e97744dd Many-to-many relation
- hasMany {through: Class}
- hasAndBelongsToMany
- some specs in relations.test.js
2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 9facf369b1 Some tests for scope 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev 136ea91fbf Organize model.js 2013-05-13 22:04:28 -07:00
Anatoliy Chakkaev c4d4b68413 Datatypes casting 2013-05-13 22:04:28 -07:00
Raymond Feng 3eb6869174 Revert "Fix the test case so that it passes in the same filter"
This reverts commit 7538601b79.
2013-04-15 16:50:49 -07:00
Raymond Feng 7538601b79 Fix the test case so that it passes in the same filter 2013-04-10 21:09:09 -07:00
Anatoliy Chakkaev 43f395d653 Manually require init 2013-04-06 14:57:12 +04:00
Anatoliy Chakkaev 9fc4e5e887 Added datatypes tests 2013-04-06 14:34:16 +04:00
Anatoliy Chakkaev 67d186e26c Fix merged schema test 2013-04-05 02:14:16 +04:00
Anatoliy Chakkaev 4943feb230 Merge transactions 2013-04-05 02:13:14 +04:00
Anatoliy Chakkaev 43d1cbd39e Merge 2013-04-05 02:12:34 +04:00
Anatoliy Chakkaev 3a355851b6 ValidationError instead Error 2013-04-04 19:31:07 +04:00
Anatoliy Chakkaev 704bc965bd Find on hasMany scope method 2013-04-04 00:46:41 +04:00
Anatoliy Chakkaev be17763eca Return valid in case of sync validations 2013-04-01 20:13:55 +04:00
Anatoliy Chakkaev c5019ef354 Test update 2013-04-01 20:10:46 +04:00
Anatoliy Chakkaev b0a1ed3bed Fix validation issue 2013-04-01 20:08:22 +04:00
Anatoliy Chakkaev cf5ed5b877 Transactions 2013-04-01 17:49:12 +04:00
Anatoliy Chakkaev 349931780a Automigrate before relation tests 2013-03-31 15:24:03 +04:00
Anatoliy Chakkaev f36372ba80 Add more love to tests, pr #249 2013-03-31 14:17:25 +04:00
Anatoliy Chakkaev 76c7fbd6ec Merge branch 'http' of github.com:NiKnight/jugglingdb 2013-03-31 14:08:38 +04:00
Anatoliy Chakkaev 0776c51994 Batch create 2013-03-31 13:40:37 +04:00
Scott Nonnenberg 5655e8f4d2 tests only: no afterCreate/afterUpdate on errors
Added tests to ensure that the afterCreate/afterUpdate handlers are not run if the adapter returns an error.
2013-03-30 17:20:32 -07:00
Scott Nonnenberg 2ba862f5af afterDestroy not called on adapter error
Similar to afterCreate and afterUpdate, we don't want to run the afterXXXX handlers if the delete failed according to the adapter.
2013-03-30 17:18:47 -07:00
Anatoliy Chakkaev 5b429e8d41 Fix memory adapter: broken upd attrs 2013-03-30 21:07:16 +04:00
Anatoliy Chakkaev 2f048e79c0 Return instance of object when create 2013-03-30 21:06:09 +04:00
Anatoliy Chakkaev c1e3e78976 Turn off ignoring tests 2013-03-29 12:54:04 +04:00
Anatoliy Chakkaev 839791de2f Upd tests
- skipping
- hook up redis-hq
- some stuff should be moved to advanced-querying tests
2013-03-29 11:43:04 +04:00
Anatoliy Chakkaev 7707b236ff Test hooks and object lifecycle as per #242 2013-03-28 15:27:50 +04:00
Anatoliy Chakkaev 589887715c Tests for data manipulation 2013-03-28 15:27:27 +04:00
Anatoliy Chakkaev e5f541c0b8 Uncomment tests 2013-03-27 22:00:50 +04:00
Anatoliy Chakkaev 2d6cc9aaee Mongodb tolerance 2013-03-27 21:53:07 +04:00
Anatoliy Chakkaev b04a250b63 Update attribute additional test 2013-03-27 18:53:46 +04:00
Anatoliy Chakkaev e75029ebbf Fix memory adapter and test 2013-03-27 17:10:13 +04:00
Anatoliy Chakkaev b6fb04ffe1 Removed include test from common 2013-03-27 04:51:31 +04:00
Anatoliy Chakkaev cfe31d41ec Test destroy 2013-03-27 04:51:00 +04:00
Anatoliy Chakkaev ffdfac30e1 Migration-friendly tests 2013-03-27 04:50:34 +04:00
Anatoliy Chakkaev 7772c32c80 Include test 2013-03-27 04:46:59 +04:00
Anatoliy Chakkaev cba87ce339 Query testing: findOne 2013-03-27 00:50:13 +04:00
Anatoliy Chakkaev 0d5f4a9aad Added test case for #238: password hashing before save 2013-03-27 00:49:02 +04:00
Anatoliy Chakkaev de28603460 Added short syntax for belongsTo 2013-03-27 00:48:14 +04:00
Anatoliy Chakkaev 49be07545a Rewriting tests 2013-03-26 23:33:11 +04:00
Anatoliy Chakkaev d5d07d8806 Make tests importable 2013-03-26 04:41:00 +04:00
Anatoliy Chakkaev f76b56d2fe Another way to define belongsTo 2013-03-26 04:39:47 +04:00
Anatoliy Chakkaev 8d53ed5e82 Docs for models 2013-03-25 15:04:07 +04:00
Anatoliy Chakkaev 567de88a10 Fix test 2013-03-25 02:29:13 +04:00
Anatoliy Chakkaev e91b0d6c49 Switch to mocha testing in travis 2013-03-25 02:25:43 +04:00
Anatoliy Chakkaev 716318bedd Rewrite validations in mocha 2013-03-25 02:21:18 +04:00
Anatoliy Chakkaev 50850d80be Minor test amends 2013-03-25 01:29:07 +04:00
Anatoliy Chakkaev d4a526f5b3 Remove old hooks tests 2013-03-25 01:28:45 +04:00
Anatoliy Chakkaev 5ea5da0153 Rewrite hooks API
This commit breaks compatibility, but adds consistent API and allow modify data of update
2013-03-25 01:25:10 +04:00
Anatoliy Chakkaev fcc2869806 Defaults test and fixes
When property type is "undefined" - apply default value
2013-03-24 17:37:13 +04:00
Anatoliy Chakkaev aad21e916c Added json test 2013-03-19 14:05:38 +04:00
Anatoliy Chakkaev b9eaba0166 Coding style in helper 2013-02-19 16:32:44 +08:00
Anatoliy Chakkaev 7bb233e269 Fix package version exposing 2013-02-19 16:32:21 +08:00
Anatoliy Chakkaev 3d64056c39 Absolute paths in README.md, fixes #208 2013-02-16 23:55:51 +08:00
Anatoliy Chakkaev 27a16dbeae Remove logging 2013-02-10 04:53:53 +08:00
Anatoliy Chakkaev 6e1037f987 Organize test with Log and Dog 2013-02-10 04:53:37 +08:00
Anatoliy Chakkaev 412a46d603 FIxed test for belongsTo 2013-02-10 04:15:43 +08:00
dgsan 497dcc887d Unit test for bug fix related to belongsTo relation.
It declares a Schema, uses memory. If it should be run for ALL DBs it will need to be changed.

Should fail pre cba174b and pass currently.
2013-02-08 10:25:38 -07:00
Anatoliy Chakkaev a5e84c9f32 Update broken test case 2013-01-23 07:48:56 +07:00
Anatoliy Chakkaev c6d7360f51 Update test for #128 2013-01-22 23:57:30 +07:00
1602 a770f20c08 One more fix in updateAttribute test with uniqueness validation 2013-01-22 03:54:06 +07:00
Anatoliy Chakkaev 3919630d9a Update validations test 2013-01-22 03:48:12 +07:00
Anatoliy Chakkaev 0f592d4bf5 Implement schema.extendModel, closes #157 2013-01-22 01:48:04 +07:00
Anatoliy Chakkaev 60a680f039 Add adapter (memory-bogus) test 2013-01-22 01:22:08 +07:00
Anatoliy Chakkaev 91fee1d565 Make memory adapter async 2013-01-22 01:21:43 +07:00
Anatoliy Chakkaev 40b64cfc5e Added test for #191 2013-01-22 00:48:10 +07:00
Robb Lovell 84a9582bc0 attempted to write a test for hasmany all function. this commit has it commented out 2013-01-17 12:00:59 -08:00
Anatoliy Chakkaev 5062beb99b Travis env update, compare ids as strings 2012-12-24 22:47:49 +04:00
Anatoliy Chakkaev 0d433c1c5d merge 2012-12-19 19:00:00 +04:00
Anatoliy Chakkaev acc0a71bde Update railwayjs name, add ability to skip tests 2012-12-19 18:57:21 +04:00
Sébastien Drouyer 61ffdbc513 added filter on schema though I am not sure it will be used 2012-12-17 00:02:38 +01:00
Sébastien Drouyer 708265df22 merged + removed preprocessdata callback as it seems it isn't usefull 2012-12-16 18:58:52 +01:00
Sébastien Drouyer 0b91727a35 removed unused console log and comments 2012-12-16 18:21:07 +01:00
Sébastien Drouyer 3ed14b2ed0 added tests for the include functionnality 2012-12-16 18:07:02 +01:00
Anatoliy Chakkaev 59f873a4f2 Uncomment tests 2012-12-15 16:06:17 +04:00
Anatoliy Chakkaev d1eb481fce Allow extend tests 2012-12-14 21:44:38 +04:00