pure-orm 4.0.0-6 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -20
- package/coverage/clover.xml +377 -583
- package/coverage/coverage-final.json +18 -20
- package/coverage/lcov-report/dist/src/core.js.html +1038 -0
- package/coverage/lcov-report/dist/src/drivers/index.html +97 -0
- package/coverage/lcov-report/dist/src/drivers/pgp.js.html +240 -0
- package/coverage/lcov-report/dist/src/factory.js.html +285 -198
- package/coverage/lcov-report/dist/src/index.html +20 -33
- package/coverage/lcov-report/dist/src/index.js.html +16 -10
- package/coverage/lcov-report/dist/src/orm.js.html +645 -0
- package/coverage/lcov-report/dist/test-utils/blog/entities.js.html +108 -0
- package/coverage/lcov-report/dist/test-utils/blog/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/blog/models/article.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/person.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/tag.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/entities.js.html +114 -0
- package/coverage/lcov-report/dist/test-utils/five/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/five/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/order.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/parcel-event.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/parcel-line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/parcel.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/entities.js.html +84 -0
- package/coverage/lcov-report/dist/test-utils/nine/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/nine/models/feature-switch.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/entities.js.html +114 -0
- package/coverage/lcov-report/dist/test-utils/order/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/order/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/order.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/product-variant.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/product.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/utm-source.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/entities.js.html +204 -0
- package/coverage/lcov-report/dist/test-utils/order-more/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/order-more/models/actual-product-variant.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/color.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/customer.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/gender.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/inventory-level.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/order.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-event.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/physical-address.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant-image.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/product.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/refund.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/shipment-actual-product-variant.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/shipment.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/size.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/utm-medium.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/utm-source.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/entities.js.html +114 -0
- package/coverage/lcov-report/dist/test-utils/six/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/six/models/customer.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/order.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/parcel-line-item.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/parcel.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/entities.js.html +132 -0
- package/coverage/lcov-report/dist/test-utils/thirteen/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/thirteen/models/audience.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/brand.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/category.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/member.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/passion.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/product.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation-audience.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/three/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/three/results.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/entities.js.html +87 -0
- package/coverage/lcov-report/dist/test-utils/twelve/index.html +6 -6
- package/coverage/lcov-report/dist/test-utils/twelve/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/models/member.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/models/prompt.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/orm.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/two/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/two/results.js.html +1 -1
- package/coverage/lcov-report/index.html +47 -47
- package/coverage/lcov-report/src/core.ts.html +1593 -0
- package/coverage/lcov-report/src/drivers/index.html +97 -0
- package/coverage/lcov-report/src/drivers/pgp.ts.html +516 -0
- package/coverage/lcov-report/src/factory.ts.html +427 -250
- package/coverage/lcov-report/src/index.html +20 -33
- package/coverage/lcov-report/src/index.ts.html +23 -5
- package/coverage/lcov-report/src/orm.ts.html +954 -0
- package/coverage/lcov-report/test-utils/blog/entities.ts.html +102 -0
- package/coverage/lcov-report/test-utils/blog/index.html +6 -6
- package/coverage/lcov-report/test-utils/blog/models/article.ts.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/article_tag.ts.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/person.ts.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/tag.ts.html +1 -1
- package/coverage/lcov-report/test-utils/blog/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/entities.ts.html +105 -0
- package/coverage/lcov-report/test-utils/five/index.html +2 -2
- package/coverage/lcov-report/test-utils/five/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/order.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/parcel-event.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/parcel-line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/parcel.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/nine/entities.ts.html +75 -0
- package/coverage/lcov-report/test-utils/nine/index.html +2 -2
- package/coverage/lcov-report/test-utils/nine/models/feature-switch.ts.html +1 -1
- package/coverage/lcov-report/test-utils/nine/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/nine/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/entities.ts.html +108 -0
- package/coverage/lcov-report/test-utils/order/index.html +2 -2
- package/coverage/lcov-report/test-utils/order/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/order.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/product-variant.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/product.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/utm-source.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/entities.ts.html +198 -0
- package/coverage/lcov-report/test-utils/order-more/index.html +2 -2
- package/coverage/lcov-report/test-utils/order-more/models/actual-product-variant.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/color.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/customer.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/gender.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/inventory-level.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/order.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/parcel-event.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/parcel-line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/parcel.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/physical-address.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/product-variant-image.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/product-variant.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/product.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/refund.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/shipment-actual-product-variant.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/shipment.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/size.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/utm-medium.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/utm-source.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/entities.ts.html +105 -0
- package/coverage/lcov-report/test-utils/six/index.html +2 -2
- package/coverage/lcov-report/test-utils/six/models/customer.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/order.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/parcel-line-item.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/parcel.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/entities.ts.html +123 -0
- package/coverage/lcov-report/test-utils/thirteen/index.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/audience.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/brand.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/category.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/member.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/passion.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/product.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/recommendation-audience.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/recommendation.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/three/index.html +1 -1
- package/coverage/lcov-report/test-utils/three/results.js.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/entities.ts.html +78 -0
- package/coverage/lcov-report/test-utils/twelve/index.html +2 -2
- package/coverage/lcov-report/test-utils/twelve/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/models/member.ts.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/models/prompt.ts.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/orm.ts.html +1 -1
- package/coverage/lcov-report/test-utils/two/index.html +1 -1
- package/coverage/lcov-report/test-utils/two/results.js.html +1 -1
- package/coverage/lcov.info +720 -1153
- package/dist/example/factories/orm.d.ts +1 -47
- package/dist/example/models/employer.d.ts +1 -1
- package/dist/example/models/job.d.ts +1 -1
- package/dist/example/models/person.d.ts +1 -1
- package/dist/src/core.d.ts +66 -0
- package/dist/src/{factory.js → core.js} +48 -245
- package/dist/src/{factory.spec.d.ts → core.spec.d.ts} +0 -0
- package/dist/src/{factory.spec.js → core.spec.js} +56 -43
- package/dist/src/driver-integrations/index.d.ts +13 -0
- package/dist/src/driver-integrations/index.js +2 -0
- package/dist/src/driver-integrations/pgp.d.ts +2 -0
- package/dist/src/driver-integrations/pgp.js +57 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +5 -3
- package/dist/src/orm.d.ts +20 -0
- package/dist/src/orm.js +190 -0
- package/dist/test-utils/blog/entities.d.ts +1 -0
- package/dist/test-utils/blog/{orm.js → entities.js} +7 -6
- package/dist/test-utils/blog/{orm.ts → entities.ts} +6 -6
- package/dist/test-utils/blog/models/article.d.ts +1 -1
- package/dist/test-utils/blog/models/article_tag.d.ts +1 -1
- package/dist/test-utils/blog/models/person.d.ts +1 -1
- package/dist/test-utils/blog/models/tag.d.ts +1 -1
- package/dist/test-utils/five/entities.d.ts +6 -0
- package/dist/test-utils/five/{orm.js → entities.js} +8 -12
- package/dist/test-utils/five/{orm.ts → entities.ts} +7 -12
- package/dist/test-utils/five/models/line-item.d.ts +1 -1
- package/dist/test-utils/five/models/order.d.ts +1 -1
- package/dist/test-utils/five/models/parcel-event.d.ts +1 -1
- package/dist/test-utils/five/models/parcel-line-item.d.ts +1 -1
- package/dist/test-utils/five/models/parcel.d.ts +1 -1
- package/dist/test-utils/nine/entities.d.ts +6 -0
- package/dist/test-utils/nine/entities.js +5 -0
- package/dist/test-utils/nine/entities.ts +2 -0
- package/dist/test-utils/nine/models/feature-switch.d.ts +1 -1
- package/dist/test-utils/order/entities.d.ts +26 -0
- package/dist/test-utils/order/{orm.js → entities.js} +8 -12
- package/{test-utils/order/orm.ts → dist/test-utils/order/entities.ts} +7 -12
- package/dist/test-utils/order/models/line-item.d.ts +1 -1
- package/dist/test-utils/order/models/order.d.ts +1 -1
- package/dist/test-utils/order/models/product-variant.d.ts +1 -1
- package/dist/test-utils/order/models/product.d.ts +1 -1
- package/dist/test-utils/order/models/utm-source.d.ts +1 -1
- package/dist/test-utils/order-more/entities.d.ts +6 -0
- package/dist/test-utils/order-more/{orm.js → entities.js} +23 -27
- package/dist/test-utils/order-more/{orm.ts → entities.ts} +22 -27
- package/dist/test-utils/order-more/models/actual-product-variant.d.ts +1 -1
- package/dist/test-utils/order-more/models/color.d.ts +1 -1
- package/dist/test-utils/order-more/models/customer.d.ts +1 -1
- package/dist/test-utils/order-more/models/gender.d.ts +1 -1
- package/dist/test-utils/order-more/models/inventory-level.d.ts +1 -1
- package/dist/test-utils/order-more/models/line-item.d.ts +1 -1
- package/dist/test-utils/order-more/models/order.d.ts +1 -1
- package/dist/test-utils/order-more/models/parcel-event.d.ts +1 -1
- package/dist/test-utils/order-more/models/parcel-line-item.d.ts +1 -1
- package/dist/test-utils/order-more/models/parcel.d.ts +1 -1
- package/dist/test-utils/order-more/models/physical-address.d.ts +1 -1
- package/dist/test-utils/order-more/models/product-variant-image.d.ts +1 -1
- package/dist/test-utils/order-more/models/product-variant.d.ts +1 -1
- package/dist/test-utils/order-more/models/product.d.ts +1 -1
- package/dist/test-utils/order-more/models/refund.d.ts +1 -1
- package/dist/test-utils/order-more/models/shipment-actual-product-variant.d.ts +1 -1
- package/dist/test-utils/order-more/models/shipment.d.ts +1 -1
- package/dist/test-utils/order-more/models/size.d.ts +1 -1
- package/dist/test-utils/order-more/models/utm-medium.d.ts +1 -1
- package/dist/test-utils/order-more/models/utm-source.d.ts +1 -1
- package/dist/test-utils/six/entities.d.ts +6 -0
- package/dist/test-utils/six/{orm.js → entities.js} +8 -12
- package/{test-utils/six/orm.ts → dist/test-utils/six/entities.ts} +7 -12
- package/dist/test-utils/six/models/customer.d.ts +1 -1
- package/dist/test-utils/six/models/line-item.d.ts +1 -1
- package/dist/test-utils/six/models/order.d.ts +1 -1
- package/dist/test-utils/six/models/parcel-line-item.d.ts +1 -1
- package/dist/test-utils/six/models/parcel.d.ts +1 -1
- package/dist/test-utils/thirteen/entities.d.ts +6 -0
- package/dist/test-utils/thirteen/{orm.js → entities.js} +11 -15
- package/dist/test-utils/thirteen/{orm.ts → entities.ts} +10 -15
- package/dist/test-utils/thirteen/models/audience.d.ts +1 -1
- package/dist/test-utils/thirteen/models/brand.d.ts +1 -1
- package/dist/test-utils/thirteen/models/category.d.ts +1 -1
- package/dist/test-utils/thirteen/models/member.d.ts +1 -1
- package/dist/test-utils/thirteen/models/passion.d.ts +1 -1
- package/dist/test-utils/thirteen/models/product.d.ts +1 -1
- package/dist/test-utils/thirteen/models/recommendation-audience.d.ts +1 -1
- package/dist/test-utils/thirteen/models/recommendation.d.ts +1 -1
- package/dist/test-utils/twelve/entities.d.ts +6 -0
- package/dist/test-utils/twelve/entities.js +6 -0
- package/dist/test-utils/twelve/entities.ts +3 -0
- package/dist/test-utils/twelve/models/member.d.ts +1 -1
- package/dist/test-utils/twelve/models/prompt.d.ts +1 -1
- package/package.json +4 -3
- package/src/{factory.spec.ts → core.spec.ts} +55 -41
- package/src/{factory.ts → core.ts} +99 -338
- package/src/driver-integrations/index.ts +56 -0
- package/src/driver-integrations/pgp.ts +92 -0
- package/src/index.ts +5 -3
- package/src/orm.ts +291 -0
- package/test-utils/blog/{orm.ts → entities.ts} +6 -6
- package/test-utils/five/{orm.ts → entities.ts} +7 -12
- package/test-utils/nine/entities.ts +2 -0
- package/{dist/test-utils/order/orm.ts → test-utils/order/entities.ts} +7 -12
- package/test-utils/order-more/{orm.ts → entities.ts} +22 -27
- package/{dist/test-utils/six/orm.ts → test-utils/six/entities.ts} +7 -12
- package/test-utils/thirteen/{orm.ts → entities.ts} +10 -15
- package/test-utils/twelve/entities.ts +3 -0
- package/dist/src/factory.d.ts +0 -100
- package/dist/test-utils/blog/orm.d.ts +0 -2
- package/dist/test-utils/five/orm.d.ts +0 -48
- package/dist/test-utils/nine/orm.d.ts +0 -48
- package/dist/test-utils/nine/orm.js +0 -9
- package/dist/test-utils/nine/orm.ts +0 -7
- package/dist/test-utils/order/orm.d.ts +0 -48
- package/dist/test-utils/order-more/orm.d.ts +0 -48
- package/dist/test-utils/six/orm.d.ts +0 -48
- package/dist/test-utils/thirteen/orm.d.ts +0 -48
- package/dist/test-utils/twelve/orm.d.ts +0 -48
- package/dist/test-utils/twelve/orm.js +0 -10
- package/dist/test-utils/twelve/orm.ts +0 -8
- package/test-utils/nine/orm.ts +0 -7
- package/test-utils/twelve/orm.ts +0 -8
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
exports.entities = void 0;
|
|
4
4
|
const parcel_1 = require("./models/parcel");
|
|
5
5
|
const parcel_line_item_1 = require("./models/parcel-line-item");
|
|
6
6
|
const line_item_1 = require("./models/line-item");
|
|
7
7
|
const order_1 = require("./models/order");
|
|
8
8
|
const customer_1 = require("./models/customer");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
],
|
|
17
|
-
db: void 0
|
|
18
|
-
});
|
|
19
|
-
exports.default = orm;
|
|
9
|
+
exports.entities = [
|
|
10
|
+
parcel_1.parcelEntity,
|
|
11
|
+
parcel_line_item_1.parcelLineItemEntity,
|
|
12
|
+
line_item_1.lineItemEntity,
|
|
13
|
+
order_1.orderEntity,
|
|
14
|
+
customer_1.customerEntity
|
|
15
|
+
];
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { create } from '../../src/index';
|
|
2
1
|
import { parcelEntity } from './models/parcel';
|
|
3
2
|
import { parcelLineItemEntity } from './models/parcel-line-item';
|
|
4
3
|
import { lineItemEntity } from './models/line-item';
|
|
5
4
|
import { orderEntity } from './models/order';
|
|
6
5
|
import { customerEntity } from './models/customer';
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
],
|
|
15
|
-
db: void 0
|
|
16
|
-
});
|
|
17
|
-
export default orm;
|
|
6
|
+
export const entities = [
|
|
7
|
+
parcelEntity,
|
|
8
|
+
parcelLineItemEntity,
|
|
9
|
+
lineItemEntity,
|
|
10
|
+
orderEntity,
|
|
11
|
+
customerEntity
|
|
12
|
+
];
|
|
@@ -12,7 +12,7 @@ export declare class Customers implements ICollection<Customer> {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const customerEntity: {
|
|
14
14
|
tableName: string;
|
|
15
|
-
columns: import("../../../src/
|
|
15
|
+
columns: import("../../../src/core").IColumn[];
|
|
16
16
|
Model: typeof Customer;
|
|
17
17
|
Collection: typeof Customers;
|
|
18
18
|
};
|
|
@@ -14,7 +14,7 @@ export declare class LineItems implements ICollection<LineItem> {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const lineItemEntity: {
|
|
16
16
|
tableName: string;
|
|
17
|
-
columns: import("../../../src/
|
|
17
|
+
columns: import("../../../src/core").IColumn[];
|
|
18
18
|
Model: typeof LineItem;
|
|
19
19
|
Collection: typeof LineItems;
|
|
20
20
|
};
|
|
@@ -14,7 +14,7 @@ export declare class Orders implements ICollection<Order> {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const orderEntity: {
|
|
16
16
|
tableName: string;
|
|
17
|
-
columns: import("../../../src/
|
|
17
|
+
columns: import("../../../src/core").IColumn[];
|
|
18
18
|
Model: typeof Order;
|
|
19
19
|
Collection: typeof Orders;
|
|
20
20
|
};
|
|
@@ -17,7 +17,7 @@ export declare class ParcelLineItems implements ICollection<ParcelLineItem> {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const parcelLineItemEntity: {
|
|
19
19
|
tableName: string;
|
|
20
|
-
columns: import("../../../src/
|
|
20
|
+
columns: import("../../../src/core").IColumn[];
|
|
21
21
|
Model: typeof ParcelLineItem;
|
|
22
22
|
Collection: typeof ParcelLineItems;
|
|
23
23
|
};
|
|
@@ -11,7 +11,7 @@ export declare class Parcels implements ICollection<Parcel> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const parcelEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Parcel;
|
|
16
16
|
Collection: typeof Parcels;
|
|
17
17
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
exports.entities = void 0;
|
|
4
4
|
const member_1 = require("./models/member");
|
|
5
5
|
const recommendation_1 = require("./models/recommendation");
|
|
6
6
|
const brand_1 = require("./models/brand");
|
|
@@ -9,17 +9,13 @@ const category_1 = require("./models/category");
|
|
|
9
9
|
const passion_1 = require("./models/passion");
|
|
10
10
|
const recommendation_audience_1 = require("./models/recommendation-audience");
|
|
11
11
|
const audience_1 = require("./models/audience");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
],
|
|
23
|
-
db: void 0
|
|
24
|
-
});
|
|
25
|
-
exports.default = orm;
|
|
12
|
+
exports.entities = [
|
|
13
|
+
member_1.memberEntity,
|
|
14
|
+
recommendation_1.recommendationEntity,
|
|
15
|
+
brand_1.brandEntity,
|
|
16
|
+
product_1.productEntity,
|
|
17
|
+
category_1.categoryEntity,
|
|
18
|
+
passion_1.passionEntity,
|
|
19
|
+
recommendation_audience_1.recommendationAudienceEntity,
|
|
20
|
+
audience_1.audienceEntity
|
|
21
|
+
];
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { create } from '../../src/index';
|
|
2
1
|
import { memberEntity } from './models/member';
|
|
3
2
|
import { recommendationEntity } from './models/recommendation';
|
|
4
3
|
import { brandEntity } from './models/brand';
|
|
@@ -7,17 +6,13 @@ import { categoryEntity } from './models/category';
|
|
|
7
6
|
import { passionEntity } from './models/passion';
|
|
8
7
|
import { recommendationAudienceEntity } from './models/recommendation-audience';
|
|
9
8
|
import { audienceEntity } from './models/audience';
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
],
|
|
21
|
-
db: void 0
|
|
22
|
-
});
|
|
23
|
-
export default orm;
|
|
9
|
+
export const entities = [
|
|
10
|
+
memberEntity,
|
|
11
|
+
recommendationEntity,
|
|
12
|
+
brandEntity,
|
|
13
|
+
productEntity,
|
|
14
|
+
categoryEntity,
|
|
15
|
+
passionEntity,
|
|
16
|
+
recommendationAudienceEntity,
|
|
17
|
+
audienceEntity
|
|
18
|
+
];
|
|
@@ -11,7 +11,7 @@ export declare class Audiences implements ICollection<Audience> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const audienceEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Audience;
|
|
16
16
|
Collection: typeof Audiences;
|
|
17
17
|
};
|
|
@@ -11,7 +11,7 @@ export declare class Brands implements ICollection<Brand> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const brandEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Brand;
|
|
16
16
|
Collection: typeof Brands;
|
|
17
17
|
};
|
|
@@ -11,7 +11,7 @@ export declare class Categories implements ICollection<Category> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const categoryEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Category;
|
|
16
16
|
Collection: typeof Categories;
|
|
17
17
|
};
|
|
@@ -11,7 +11,7 @@ export declare class Members implements ICollection<Member> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const memberEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Member;
|
|
16
16
|
Collection: typeof Members;
|
|
17
17
|
};
|
|
@@ -11,7 +11,7 @@ export declare class Passions implements ICollection<Passion> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const passionEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Passion;
|
|
16
16
|
Collection: typeof Passions;
|
|
17
17
|
};
|
|
@@ -14,7 +14,7 @@ export declare class Products implements ICollection<Product> {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const productEntity: {
|
|
16
16
|
tableName: string;
|
|
17
|
-
columns: import("../../../src/
|
|
17
|
+
columns: import("../../../src/core").IColumn[];
|
|
18
18
|
Model: typeof Product;
|
|
19
19
|
Collection: typeof Products;
|
|
20
20
|
};
|
|
@@ -17,7 +17,7 @@ export declare class RecommendationAudiences implements ICollection<Recommendati
|
|
|
17
17
|
}
|
|
18
18
|
export declare const recommendationAudienceEntity: {
|
|
19
19
|
tableName: string;
|
|
20
|
-
columns: import("../../../src/
|
|
20
|
+
columns: import("../../../src/core").IColumn[];
|
|
21
21
|
Model: typeof RecommendationAudience;
|
|
22
22
|
Collection: typeof RecommendationAudiences;
|
|
23
23
|
};
|
|
@@ -26,7 +26,7 @@ export declare class Recommendations implements ICollection<Recommendation> {
|
|
|
26
26
|
}
|
|
27
27
|
export declare const recommendationEntity: {
|
|
28
28
|
tableName: string;
|
|
29
|
-
columns: import("../../../src/
|
|
29
|
+
columns: import("../../../src/core").IColumn[];
|
|
30
30
|
Model: typeof Recommendation;
|
|
31
31
|
Collection: typeof Recommendations;
|
|
32
32
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.entities = void 0;
|
|
4
|
+
const prompt_1 = require("./models/prompt");
|
|
5
|
+
const member_1 = require("./models/member");
|
|
6
|
+
exports.entities = [prompt_1.promptEntity, member_1.memberEntity];
|
|
@@ -11,7 +11,7 @@ export declare class Members implements ICollection<Member> {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const memberEntity: {
|
|
13
13
|
tableName: string;
|
|
14
|
-
columns: import("../../../src/
|
|
14
|
+
columns: import("../../../src/core").IColumn[];
|
|
15
15
|
Model: typeof Member;
|
|
16
16
|
Collection: typeof Members;
|
|
17
17
|
};
|
|
@@ -16,7 +16,7 @@ export declare class Prompts implements ICollection<Prompt> {
|
|
|
16
16
|
}
|
|
17
17
|
export declare const promptEntity: {
|
|
18
18
|
tableName: string;
|
|
19
|
-
columns: import("../../../src/
|
|
19
|
+
columns: import("../../../src/core").IColumn[];
|
|
20
20
|
Model: typeof Prompt;
|
|
21
21
|
Collection: typeof Prompts;
|
|
22
22
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pure-orm",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"main": "dist/src/index.js",
|
|
5
5
|
"types": "dist/src/index.d.ts",
|
|
6
6
|
"engines": {
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"format": "prettier --write \"**/*.{ts,js,json,md}\" \"!coverage/**/*\"",
|
|
16
16
|
"lint": "eslint .",
|
|
17
17
|
"pub": "npm run test && npm run build && np",
|
|
18
|
-
"build": "rm -rf dist && mkdir -p dist && cp -r test-utils dist/test-utils && tsc"
|
|
18
|
+
"build": "rm -rf dist && mkdir -p dist && cp -r test-utils dist/test-utils && tsc",
|
|
19
|
+
"build:watch": "rm -rf dist && mkdir -p dist && cp -r test-utils dist/test-utils && tsc --watch"
|
|
19
20
|
},
|
|
20
21
|
"dependencies": {
|
|
21
22
|
"@babel/core": "^7.17.9",
|
|
@@ -23,7 +24,7 @@
|
|
|
23
24
|
"@babel/preset-typescript": "^7.16.7",
|
|
24
25
|
"@types/jest": "^27.4.1",
|
|
25
26
|
"babel-jest": "^27.5.1",
|
|
26
|
-
"camelcase": "^
|
|
27
|
+
"camelcase": "^6.3.0"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@types/express": "^4.17.13",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
2
|
+
import { createCore } from './core';
|
|
3
|
+
import { entities as orderEntities } from '../test-utils/order/entities';
|
|
4
|
+
import { entities as blogEntities } from '../test-utils/blog/entities';
|
|
5
|
+
import { entities as orderMoreEntities } from '../test-utils/order-more/entities';
|
|
6
|
+
import { entities as nineEntities } from '../test-utils/nine/entities';
|
|
7
|
+
import { entities as fiveEntities } from '../test-utils/five/entities';
|
|
8
|
+
import { entities as sixEntities } from '../test-utils/six/entities';
|
|
9
|
+
import { entities as twelveEntities } from '../test-utils/twelve/entities';
|
|
10
|
+
import { entities as thirteenEntities } from '../test-utils/thirteen/entities';
|
|
11
11
|
import { Articles } from '../test-utils/blog/models/article';
|
|
12
12
|
const two = require('../test-utils/two/results');
|
|
13
13
|
const three = require('../test-utils/three/results');
|
|
@@ -23,8 +23,9 @@ const eleven = require('../test-utils/eleven/results.json');
|
|
|
23
23
|
const twelve = require('../test-utils/twelve/results.json');
|
|
24
24
|
const thirteen = require('../test-utils/thirteen/results.json');
|
|
25
25
|
|
|
26
|
-
test('
|
|
27
|
-
const
|
|
26
|
+
test('createOneFromDatabase where multiple rows reduce to one nested object (with all one-to-one or one-to-many tables)', () => {
|
|
27
|
+
const core = createCore({ entities: orderEntities });
|
|
28
|
+
const order = core.createOneFromDatabase(one);
|
|
28
29
|
expect(Array.isArray(order)).toBe(false);
|
|
29
30
|
expect(order?.id).toEqual(3866);
|
|
30
31
|
expect(order?.utmSource.id).toEqual(6);
|
|
@@ -55,8 +56,9 @@ test('Bo#parseFromDatabase where multiple rows reduce to one nested object (with
|
|
|
55
56
|
expect(order.lineItems.models[5].productVariant.product.id).toEqual(3);
|
|
56
57
|
});
|
|
57
58
|
|
|
58
|
-
test('
|
|
59
|
-
const
|
|
59
|
+
test('createOneFromDatabase where multiple rows reduce to one nested object (with many-to-many tables)', () => {
|
|
60
|
+
const core = createCore({ entities: blogEntities });
|
|
61
|
+
const article = core.createOneFromDatabase(two);
|
|
60
62
|
expect(Array.isArray(article)).toBe(false);
|
|
61
63
|
expect(article.id).toEqual(14);
|
|
62
64
|
expect(article.person.id).toEqual(8);
|
|
@@ -84,8 +86,9 @@ test('Bo#parseFromDatabase where multiple rows reduce to one nested object (with
|
|
|
84
86
|
expect(article.articleTags.models[9].tag.id).toEqual(16);
|
|
85
87
|
});
|
|
86
88
|
|
|
87
|
-
test('
|
|
88
|
-
const
|
|
89
|
+
test('createFromDatabase where multiple rows reduce to many rows with nested objects (with many-to-many tables)', () => {
|
|
90
|
+
const core = createCore({ entities: blogEntities });
|
|
91
|
+
const articles = core.createFromDatabase(three);
|
|
89
92
|
expect(Array.isArray(articles.models)).toBe(true);
|
|
90
93
|
expect(articles instanceof Articles).toBe(true);
|
|
91
94
|
expect(articles.models.length).toEqual(2);
|
|
@@ -136,8 +139,9 @@ test('Bo#parseFromDatabase where multiple rows reduce to many rows with nested o
|
|
|
136
139
|
// productVariantImages append to it, instead of each productVariantImage
|
|
137
140
|
// living on its own productVariant (which would keep overwriting itself
|
|
138
141
|
// on the actualProductVariant node).
|
|
139
|
-
test('
|
|
140
|
-
const
|
|
142
|
+
test('createFromDatabase where node is already seen', () => {
|
|
143
|
+
const core = createCore({ entities: orderMoreEntities });
|
|
144
|
+
const inventoryLevels = core.createFromDatabase(four);
|
|
141
145
|
|
|
142
146
|
expect(inventoryLevels).toBeDefined();
|
|
143
147
|
|
|
@@ -272,8 +276,9 @@ test('Bo#parseFromDatabase where node is already seen', () => {
|
|
|
272
276
|
// the two relevant line items of the one relevant order. This test should
|
|
273
277
|
// be doing that, but since code coverage all-around isn't great and I already
|
|
274
278
|
// had this fuller json dump from production, I just used it all - YOLO.
|
|
275
|
-
test('
|
|
276
|
-
const
|
|
279
|
+
test('createFromDatabase where a deeply nested models property was misbehaving', () => {
|
|
280
|
+
const core = createCore({ entities: fiveEntities });
|
|
281
|
+
const orders = core.createFromDatabase(five);
|
|
277
282
|
// The assertion that failed when the bug was present
|
|
278
283
|
expect(
|
|
279
284
|
orders?.models[0].lineItems.models[1].parcelLineItems.models[0].parcel
|
|
@@ -349,8 +354,9 @@ test('Bo#parseFromDatabase where a deeply nested models property was misbehaving
|
|
|
349
354
|
// [MISSING ORDER]
|
|
350
355
|
// Issue occcurs in nestClump
|
|
351
356
|
// Problem only surfaced when custom was included
|
|
352
|
-
test('
|
|
353
|
-
const
|
|
357
|
+
test('createOneFromDatabase where a deeply nested models property was misbehaving', () => {
|
|
358
|
+
const core = createCore({ entities: sixEntities });
|
|
359
|
+
const parcel = core.createOneFromDatabase(six);
|
|
354
360
|
// The assertion that failed when the bug was present
|
|
355
361
|
expect(parcel.parcelLineItems.models[1].lineItem.order).toBeDefined();
|
|
356
362
|
// Lots of other assertions that are unrelated and shouldn't be here except
|
|
@@ -391,8 +397,9 @@ test('Bo#parseOneFromDatabase where a deeply nested models property was misbehav
|
|
|
391
397
|
// ProductVariant(2)
|
|
392
398
|
// Color
|
|
393
399
|
// Issue occcurs in nestClump
|
|
394
|
-
test('
|
|
395
|
-
const
|
|
400
|
+
test('createOneFromDatabase where a deeply nested models property was attaching to wrong parent', () => {
|
|
401
|
+
const core = createCore({ entities: orderMoreEntities });
|
|
402
|
+
const inventoryLevel = core.createOneFromDatabase(seven);
|
|
396
403
|
// The assertion that failed when the bug was present
|
|
397
404
|
expect(
|
|
398
405
|
inventoryLevel.actualProductVariant.productVariants.models[1]
|
|
@@ -450,8 +457,9 @@ test('Bo#parseOneFromDatabase where a deeply nested models property was attachin
|
|
|
450
457
|
// ProductVariant(2)
|
|
451
458
|
// Product
|
|
452
459
|
// Issue occcurs in nestClump
|
|
453
|
-
test('
|
|
454
|
-
const
|
|
460
|
+
test('createFromDatabase where a deeply nested models property was attaching to wrong parent 2', () => {
|
|
461
|
+
const core = createCore({ entities: orderMoreEntities });
|
|
462
|
+
const shipments = core.createFromDatabase(eight);
|
|
455
463
|
// The assertion that failed when the bug was present
|
|
456
464
|
expect(
|
|
457
465
|
shipments?.models[0].shipmentActualProductVariants.models[1]
|
|
@@ -629,11 +637,12 @@ test('Bo#parseOneFromDatabase where a deeply nested models property was attachin
|
|
|
629
637
|
|
|
630
638
|
// Issue occcurs in nestClump
|
|
631
639
|
// Problem is with only top level nodes
|
|
632
|
-
test('
|
|
640
|
+
test('createFromDatabase with just top level nodes', () => {
|
|
641
|
+
const core = createCore({ entities: nineEntities });
|
|
633
642
|
let featureSwitches;
|
|
634
643
|
try {
|
|
635
644
|
// This failed when the bug was present
|
|
636
|
-
featureSwitches =
|
|
645
|
+
featureSwitches = core.createFromDatabase(nine);
|
|
637
646
|
} catch (e) {
|
|
638
647
|
expect(e).not.toBeDefined();
|
|
639
648
|
}
|
|
@@ -649,11 +658,12 @@ test('Bo#parseFromDatabase with just top level nodes', () => {
|
|
|
649
658
|
// Problem is when oldest parent is an empty join record and is not included
|
|
650
659
|
// which results in the oldest parent search returning -1 and parent heirarchy
|
|
651
660
|
// is thus messed up.
|
|
652
|
-
test('
|
|
661
|
+
test('createFromDatabase 10', () => {
|
|
662
|
+
const core = createCore({ entities: orderMoreEntities });
|
|
653
663
|
let orders;
|
|
654
664
|
try {
|
|
655
665
|
// This failed when the bug was present
|
|
656
|
-
orders =
|
|
666
|
+
orders = core.createFromDatabase(ten);
|
|
657
667
|
} catch (e) {
|
|
658
668
|
expect(e).not.toBeDefined();
|
|
659
669
|
}
|
|
@@ -954,11 +964,12 @@ test('Bo#parseFromDatabase 10', () => {
|
|
|
954
964
|
|
|
955
965
|
// Issue occcurs in nestClump
|
|
956
966
|
// Problem from early returning not logging bo so parent hierarcy was missing it
|
|
957
|
-
test('
|
|
967
|
+
test('createFromDatabase 11', () => {
|
|
968
|
+
const core = createCore({ entities: orderMoreEntities });
|
|
958
969
|
let orders;
|
|
959
970
|
try {
|
|
960
971
|
// This failed when the bug was present
|
|
961
|
-
orders =
|
|
972
|
+
orders = core.createFromDatabase(eleven);
|
|
962
973
|
} catch (e) {
|
|
963
974
|
expect(e).not.toBeDefined();
|
|
964
975
|
}
|
|
@@ -967,11 +978,12 @@ test('Bo#parseFromDatabase 11', () => {
|
|
|
967
978
|
|
|
968
979
|
// Issue occcurs in nestClump
|
|
969
980
|
// Problem when a table references another model twice (two columns)
|
|
970
|
-
test('
|
|
981
|
+
test('createFromDatabase 12', () => {
|
|
982
|
+
const core = createCore({ entities: twelveEntities });
|
|
971
983
|
let prompt;
|
|
972
984
|
try {
|
|
973
985
|
// This failed when the bug was present
|
|
974
|
-
prompt =
|
|
986
|
+
prompt = core.createFromDatabase(twelve);
|
|
975
987
|
} catch (e) {
|
|
976
988
|
expect(e).not.toBeDefined();
|
|
977
989
|
}
|
|
@@ -994,8 +1006,9 @@ test('Bo#parseFromDatabase 12', () => {
|
|
|
994
1006
|
// Recommendations[4]
|
|
995
1007
|
// Brand
|
|
996
1008
|
// Passion
|
|
997
|
-
test('
|
|
998
|
-
const
|
|
1009
|
+
test('createFromDatabase 13', () => {
|
|
1010
|
+
const core = createCore({ entities: thirteenEntities });
|
|
1011
|
+
const members = core.createFromDatabase(thirteen);
|
|
999
1012
|
const member = members?.models[0];
|
|
1000
1013
|
expect(member?.recommendations.models.length).toEqual(4);
|
|
1001
1014
|
expect(member?.recommendations.models[0].brand.id).toEqual(2);
|
|
@@ -1029,20 +1042,21 @@ test('Bo#parseFromDatabase 13', () => {
|
|
|
1029
1042
|
});
|
|
1030
1043
|
|
|
1031
1044
|
test('orm.tables', () => {
|
|
1032
|
-
|
|
1033
|
-
expect(
|
|
1045
|
+
const core = createCore({ entities: orderEntities });
|
|
1046
|
+
expect(Object.keys(core.tables).length).toEqual(5);
|
|
1047
|
+
expect(core.tables.utmSource.columns).toEqual(
|
|
1034
1048
|
'"utm_source".id as "utm_source#id", "utm_source".value as "utm_source#value", "utm_source".label as "utm_source#label", "utm_source".internal as "utm_source#internal"'
|
|
1035
1049
|
);
|
|
1036
|
-
expect(
|
|
1050
|
+
expect(core.tables.order.columns).toEqual(
|
|
1037
1051
|
'"order".id as "order#id", "order".email as "order#email", "order".browser_ip as "order#browser_ip", "order".browser_user_agent as "order#browser_user_agent", "order".kujo_imported_date as "order#kujo_imported_date", "order".created_date as "order#created_date", "order".cancel_reason as "order#cancel_reason", "order".cancelled_date as "order#cancelled_date", "order".closed_date as "order#closed_date", "order".processed_date as "order#processed_date", "order".updated_date as "order#updated_date", "order".note as "order#note", "order".subtotal_price as "order#subtotal_price", "order".taxes_included as "order#taxes_included", "order".total_discounts as "order#total_discounts", "order".total_price as "order#total_price", "order".total_tax as "order#total_tax", "order".total_weight as "order#total_weight", "order".order_status_url as "order#order_status_url", "order".utm_source_id as "order#utm_source_id", "order".utm_medium_id as "order#utm_medium_id", "order".utm_campaign as "order#utm_campaign", "order".utm_content as "order#utm_content", "order".utm_term as "order#utm_term"'
|
|
1038
1052
|
);
|
|
1039
|
-
expect(
|
|
1053
|
+
expect(core.tables.lineItem.columns).toEqual(
|
|
1040
1054
|
'"line_item".id as "line_item#id", "line_item".product_variant_id as "line_item#product_variant_id", "line_item".order_id as "line_item#order_id", "line_item".fulfillment_status_id as "line_item#fulfillment_status_id", "line_item".fulfillable_quantity as "line_item#fulfillable_quantity", "line_item".fulfillment_service as "line_item#fulfillment_service", "line_item".grams as "line_item#grams", "line_item".price as "line_item#price", "line_item".quantity as "line_item#quantity", "line_item".requires_shipping as "line_item#requires_shipping", "line_item".taxable as "line_item#taxable", "line_item".total_discount as "line_item#total_discount"'
|
|
1041
1055
|
);
|
|
1042
|
-
expect(
|
|
1056
|
+
expect(core.tables.productVariant.columns).toEqual(
|
|
1043
1057
|
'"product_variant".id as "product_variant#id", "product_variant".product_id as "product_variant#product_id", "product_variant".actual_product_variant_id as "product_variant#actual_product_variant_id", "product_variant".color_id as "product_variant#color_id", "product_variant".gender_id as "product_variant#gender_id", "product_variant".size_id as "product_variant#size_id", "product_variant".barcode as "product_variant#barcode", "product_variant".price as "product_variant#price", "product_variant".compare_at_price as "product_variant#compare_at_price", "product_variant".created_date as "product_variant#created_date", "product_variant".updated_date as "product_variant#updated_date", "product_variant".grams as "product_variant#grams", "product_variant".requires_shipping as "product_variant#requires_shipping"'
|
|
1044
1058
|
);
|
|
1045
|
-
expect(
|
|
1059
|
+
expect(core.tables.product.columns).toEqual(
|
|
1046
1060
|
'"product".id as "product#id", "product".vendor_id as "product#vendor_id", "product".value as "product#value", "product".label as "product#label", "product".product_type as "product#product_type", "product".created_date as "product#created_date", "product".updated_date as "product#updated_date", "product".published_date as "product#published_date", "product".category as "product#category"'
|
|
1047
1061
|
);
|
|
1048
1062
|
});
|