Refactor(medusa): Create a BaseEntity and SoftDeletableEntity base class for common columns (#1315)

* refactor(medusa): Move some column to a base entity to make it easier to add new models without forgetting some columns

* styles(medusa): Cleanup models

* fix(medusa): typings due to model typings update

* feat(medusa): Cleanup models

* fix(medusa): A model must not return the generateId as part of the entity

* fix(medusa): Plugin integration snapshot

* fix(medusa): Typings from discount-rule-migration scripts

* refactor(medusa): Introduct BaseEntity/SoftDeletableEntity that the entity extends

* styles(medusa): Fix models linting

* test(medusa): Fix integration plugin tests

* feat(medusa): Create generateEntityId standalong function utility and update config to properly supprt ts spec files

* feat(medusa): Update entities to use the new utils to generate and apply the id

* test(medusa): Fix test suits

* feat(medusa): Improve generateEntityId utility
This commit is contained in:
Adrien de Peretti
2022-05-23 14:27:58 +02:00
committed by GitHub
parent 2f08167480
commit 3503651ff2
90 changed files with 794 additions and 1602 deletions
@@ -0,0 +1,26 @@
import { generateEntityId } from "../generate-entity-id"
import { Entity, PrimaryColumn } from "typeorm"
@Entity()
class GenerateIdSpecEntity {
@PrimaryColumn()
id: string
}
describe("generateAndApplyEntityId", () => {
it('should return the id if already set', () => {
const entity = new GenerateIdSpecEntity()
entity.id = "fakeId"
const generatedId = generateEntityId(entity.id, "prefix")
expect(generatedId).toBe(entity.id)
})
it('should return the new generated id if not set already', () => {
const entity = new GenerateIdSpecEntity()
entity.id = generateEntityId(entity.id, "prefix")
expect(entity.id).toBeTruthy()
expect(entity.id).toEqual(expect.stringMatching(/prefix_*/))
})
})