Reworking MS-SQL test case to be able to get the sql now with a request being made for each internal query, rather than just at connection.
This commit is contained in:
parent
e188367ae2
commit
28b4adc2b3
|
@ -15,7 +15,7 @@ module MsSqlMock {
|
||||||
mssql.ConnectionPool = jest.fn(() => ({
|
mssql.ConnectionPool = jest.fn(() => ({
|
||||||
connect: jest.fn(() => ({
|
connect: jest.fn(() => ({
|
||||||
request: jest.fn(() => ({
|
request: jest.fn(() => ({
|
||||||
query: jest.fn(() => ({})),
|
query: jest.fn(sql => ({ recordset: [ sql ] })),
|
||||||
})),
|
})),
|
||||||
})),
|
})),
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -9,32 +9,39 @@ class TestConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("MS SQL Server Integration", () => {
|
describe("MS SQL Server Integration", () => {
|
||||||
let config
|
let config
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(async () => {
|
||||||
config = new TestConfiguration()
|
config = new TestConfiguration()
|
||||||
})
|
})
|
||||||
|
|
||||||
it("calls the create method with the correct params", async () => {
|
describe("check sql used", () => {
|
||||||
const sql = "insert into users (name, age) values ('Joe', 123);"
|
beforeEach(async () => {
|
||||||
const response = await config.integration.create({
|
await config.integration.connect()
|
||||||
sql
|
|
||||||
})
|
})
|
||||||
expect(config.integration.client.query).toHaveBeenCalledWith(sql, {})
|
|
||||||
})
|
|
||||||
|
|
||||||
it("calls the read method with the correct params", async () => {
|
it("calls the create method with the correct params", async () => {
|
||||||
const sql = "select * from users;"
|
const sql = "insert into users (name, age) values ('Joe', 123);"
|
||||||
const response = await config.integration.read({
|
const response = await config.integration.create({
|
||||||
sql
|
sql
|
||||||
|
})
|
||||||
|
expect(config.integration.client.request).toHaveBeenCalledWith()
|
||||||
|
expect(response[0]).toEqual(sql)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("calls the read method with the correct params", async () => {
|
||||||
|
const sql = "select * from users;"
|
||||||
|
const response = await config.integration.read({
|
||||||
|
sql
|
||||||
|
})
|
||||||
|
expect(config.integration.client.request).toHaveBeenCalledWith()
|
||||||
|
expect(response[0]).toEqual(sql)
|
||||||
})
|
})
|
||||||
expect(config.integration.client.query).toHaveBeenCalledWith(sql, {})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("no rows returned", () => {
|
describe("no rows returned", () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await config.integration.connect()
|
await config.integration.connect()
|
||||||
config.integration.client.query.mockImplementation(() => ({ rows: [] }))
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("returns the correct response when the create response has no rows", async () => {
|
it("returns the correct response when the create response has no rows", async () => {
|
||||||
|
@ -42,7 +49,7 @@ describe("MS SQL Server Integration", () => {
|
||||||
const response = await config.integration.create({
|
const response = await config.integration.create({
|
||||||
sql
|
sql
|
||||||
})
|
})
|
||||||
expect(response).toEqual([{ created: true }])
|
expect(response[0]).toEqual(sql)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
Loading…
Reference in New Issue