Fix test for update
This commit is contained in:
parent
a58f35a6cd
commit
672bfda7dd
|
@ -4,19 +4,19 @@ jest.mock("mongodb")
|
||||||
|
|
||||||
class TestConfiguration {
|
class TestConfiguration {
|
||||||
constructor(config = {}) {
|
constructor(config = {}) {
|
||||||
this.integration = new MongoDBIntegration.integration(config)
|
this.integration = new MongoDBIntegration.integration(config)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function disableConsole() {
|
function disableConsole() {
|
||||||
jest.spyOn(console, 'error');
|
jest.spyOn(console, "error")
|
||||||
console.error.mockImplementation(() => {});
|
console.error.mockImplementation(() => {})
|
||||||
|
|
||||||
return console.error.mockRestore;
|
return console.error.mockRestore
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("MongoDB Integration", () => {
|
describe("MongoDB Integration", () => {
|
||||||
let config
|
let config
|
||||||
let indexName = "Users"
|
let indexName = "Users"
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
@ -25,12 +25,12 @@ describe("MongoDB Integration", () => {
|
||||||
|
|
||||||
it("calls the create method with the correct params", async () => {
|
it("calls the create method with the correct params", async () => {
|
||||||
const body = {
|
const body = {
|
||||||
name: "Hello"
|
name: "Hello",
|
||||||
}
|
}
|
||||||
await config.integration.create({
|
await config.integration.create({
|
||||||
index: indexName,
|
index: indexName,
|
||||||
json: body,
|
json: body,
|
||||||
extra: { collection: 'testCollection', actionTypes: 'insertOne'}
|
extra: { collection: "testCollection", actionTypes: "insertOne" },
|
||||||
})
|
})
|
||||||
expect(config.integration.client.insertOne).toHaveBeenCalledWith(body)
|
expect(config.integration.client.insertOne).toHaveBeenCalledWith(body)
|
||||||
})
|
})
|
||||||
|
@ -38,9 +38,9 @@ describe("MongoDB Integration", () => {
|
||||||
it("calls the read method with the correct params", async () => {
|
it("calls the read method with the correct params", async () => {
|
||||||
const query = {
|
const query = {
|
||||||
json: {
|
json: {
|
||||||
address: "test"
|
address: "test",
|
||||||
},
|
},
|
||||||
extra: { collection: 'testCollection', actionTypes: 'find'}
|
extra: { collection: "testCollection", actionTypes: "find" },
|
||||||
}
|
}
|
||||||
const response = await config.integration.read(query)
|
const response = await config.integration.read(query)
|
||||||
expect(config.integration.client.find).toHaveBeenCalledWith(query.json)
|
expect(config.integration.client.find).toHaveBeenCalledWith(query.json)
|
||||||
|
@ -50,9 +50,9 @@ describe("MongoDB Integration", () => {
|
||||||
it("calls the delete method with the correct params", async () => {
|
it("calls the delete method with the correct params", async () => {
|
||||||
const query = {
|
const query = {
|
||||||
json: {
|
json: {
|
||||||
id: "test"
|
id: "test",
|
||||||
},
|
},
|
||||||
extra: { collection: 'testCollection', actionTypes: 'deleteOne'}
|
extra: { collection: "testCollection", actionTypes: "deleteOne" },
|
||||||
}
|
}
|
||||||
await config.integration.delete(query)
|
await config.integration.delete(query)
|
||||||
expect(config.integration.client.deleteOne).toHaveBeenCalledWith(query.json)
|
expect(config.integration.client.deleteOne).toHaveBeenCalledWith(query.json)
|
||||||
|
@ -61,19 +61,31 @@ describe("MongoDB Integration", () => {
|
||||||
it("calls the update method with the correct params", async () => {
|
it("calls the update method with the correct params", async () => {
|
||||||
const query = {
|
const query = {
|
||||||
json: {
|
json: {
|
||||||
id: "test"
|
filter: {
|
||||||
|
id: "test",
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
name: "TestName",
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
upsert: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
extra: { collection: 'testCollection', actionTypes: 'updateOne'}
|
extra: { collection: "testCollection", actionTypes: "updateOne" },
|
||||||
}
|
}
|
||||||
await config.integration.update(query)
|
await config.integration.update(query)
|
||||||
expect(config.integration.client.updateOne).toHaveBeenCalledWith(query.json)
|
expect(config.integration.client.updateOne).toHaveBeenCalledWith(
|
||||||
|
query.json.filter,
|
||||||
|
query.json.update,
|
||||||
|
query.json.options
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
it("throws an error when an invalid query.extra.actionType is passed for each method", async () => {
|
it("throws an error when an invalid query.extra.actionType is passed for each method", async () => {
|
||||||
const restore = disableConsole()
|
const restore = disableConsole()
|
||||||
|
|
||||||
const query = {
|
const query = {
|
||||||
extra: { collection: 'testCollection', actionTypes: 'deleteOne'}
|
extra: { collection: "testCollection", actionTypes: "deleteOne" },
|
||||||
}
|
}
|
||||||
|
|
||||||
let error = null
|
let error = null
|
||||||
|
@ -85,4 +97,4 @@ describe("MongoDB Integration", () => {
|
||||||
expect(error).toBeDefined()
|
expect(error).toBeDefined()
|
||||||
restore()
|
restore()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue