-
-
Save enieber/82568e77fd365290ddf6a44bc286af12 to your computer and use it in GitHub Desktop.
Example of testing TypeOrm with Jest and Sqlite in-memory database
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { createConnection, getConnection, Entity, getRepository } from "typeorm"; | |
import { PrimaryGeneratedColumn, Column } from "typeorm"; | |
@Entity() | |
export class MyEntity { | |
@PrimaryGeneratedColumn() | |
id?: number; | |
@Column() | |
name?: string; | |
} | |
beforeEach(() => { | |
return createConnection({ | |
type: "sqlite", | |
database: ":memory:", | |
dropSchema: true, | |
entities: [MyEntity], | |
synchronize: true, | |
logging: false | |
}); | |
}); | |
afterEach(() => { | |
let conn = getConnection(); | |
return conn.close(); | |
}); | |
test("store Joe and fetch it", async () => { | |
await getRepository(MyEntity).insert({ | |
name: "Joe" | |
}); | |
let joe = await getRepository(MyEntity).find({ | |
where: { | |
id: 1 | |
} | |
}); | |
expect(joe[0].name).toBe("Joe"); | |
}); | |
test("store Another and fetch it", async () => { | |
await getRepository(MyEntity).insert({ | |
name: "Another" | |
}); | |
let joe = await getRepository(MyEntity).find({ | |
where: { | |
id: 1 | |
} | |
}); | |
expect(joe[0].name).toBe("Another"); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment