integration tests passing
This commit is contained in:
@@ -96,7 +96,6 @@ describe("POST /admin/products", () => {
|
||||
})
|
||||
|
||||
it("returns created product draft", () => {
|
||||
console.log(subject.body)
|
||||
expect(subject.body.product.id).toEqual(IdMap.getId("product1"))
|
||||
})
|
||||
|
||||
|
||||
@@ -327,10 +327,6 @@ export default async (req, res) => {
|
||||
.withTransaction(manager)
|
||||
.create({ ...value, profile_id: shippingProfile.id })
|
||||
|
||||
// console.log(variants)
|
||||
// console.log(value)
|
||||
// console.log(newProduct)
|
||||
|
||||
if (variants) {
|
||||
for (const [i, variant] of variants.entries()) variant.rank = i
|
||||
|
||||
@@ -356,18 +352,13 @@ export default async (req, res) => {
|
||||
}
|
||||
})
|
||||
|
||||
// console.log("got to after variants")
|
||||
|
||||
const product = await productService.retrieve(newProduct.id, {
|
||||
select: defaultFields,
|
||||
relations: defaultRelations,
|
||||
})
|
||||
|
||||
// console.log(product)
|
||||
|
||||
res.json({ product })
|
||||
} catch (err) {
|
||||
// console.log(err)
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class productVariantRank1630868939283 implements MigrationInterface {
|
||||
name = 'productVariantRank1630868939283'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "product_variant" ADD "rank" integer NOT NULL`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "product_variant" DROP COLUMN "rank"`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class productVariantOptionCascade1630870102483 implements MigrationInterface {
|
||||
name = 'productVariantOptionCascade1630870102483'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "product_option_value" DROP CONSTRAINT "FK_7234ed737ff4eb1b6ae6e6d7b01"`);
|
||||
await queryRunner.query(`ALTER TABLE "product_option_value" ADD CONSTRAINT "FK_7234ed737ff4eb1b6ae6e6d7b01" FOREIGN KEY ("variant_id") REFERENCES "product_variant"("id") ON DELETE cascade ON UPDATE NO ACTION`);
|
||||
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "product_option_value" DROP CONSTRAINT "FK_7234ed737ff4eb1b6ae6e6d7b01"`);
|
||||
await queryRunner.query(`ALTER TABLE "product_option_value" ADD CONSTRAINT "FK_7234ed737ff4eb1b6ae6e6d7b01" FOREIGN KEY ("variant_id") REFERENCES "product_variant"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,7 +41,8 @@ export class ProductOptionValue {
|
||||
|
||||
@ManyToOne(
|
||||
() => ProductVariant,
|
||||
variant => variant.options
|
||||
variant => variant.options,
|
||||
{ onDelete: "cascade" }
|
||||
)
|
||||
@JoinColumn({ name: "variant_id" })
|
||||
variant: ProductVariant
|
||||
|
||||
@@ -43,7 +43,7 @@ export class ProductVariant {
|
||||
@OneToMany(
|
||||
() => MoneyAmount,
|
||||
ma => ma.variant,
|
||||
{ cascade: true, onDelete: "CASCADE" }
|
||||
{ cascade: ["remove"] }
|
||||
)
|
||||
prices: MoneyAmount[]
|
||||
|
||||
|
||||
@@ -185,10 +185,11 @@ class ProductService extends BaseService {
|
||||
)
|
||||
}
|
||||
|
||||
if (product.variants)
|
||||
if (product.variants) {
|
||||
product.variants.sort(
|
||||
(variant1, variant2) => variant1.rank - variant2.rank
|
||||
)
|
||||
}
|
||||
|
||||
return product
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user