Created
January 16, 2022 07:24
-
-
Save AkshayCHD/a0c046d948aecedca3b8dfe517048faf to your computer and use it in GitHub Desktop.
This file contains 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
const { getUser, saveUser } = require("../src/services/user.service"); | |
const { expect } = require("chai"); | |
const User = require("../src/models/user.model") | |
const sinon = require("sinon"); | |
describe("User Service Unit Tests", function () { | |
this.afterEach(() => { | |
sinon.restore(); | |
}) | |
describe("Get User functionality", function () { | |
it("should return correct age and experience of the user after calculation", async function () { | |
const profileId = 1; | |
const fakeObject = { | |
_id: 1, | |
name: "Akshay", | |
dob: "2020-12-12", | |
experience: [{ years: 5, organizationName: "ABCD" }] | |
} | |
sinon.stub(User, 'findOne').returns(fakeObject) | |
const returnedUser = await getUser({ | |
profileId | |
}); | |
expect(returnedUser.name).to.equal(fakeObject.name) | |
expect(returnedUser.age).to.equal(1) | |
expect(returnedUser.totalExperience).to.eql(5) | |
}); | |
it("should give error if invalid if there is no user found with provided profileId", async function () { | |
const profileId = 1; | |
sinon.stub(User, 'findOne').returns(null) | |
await getUser({ | |
profileId, | |
}).catch((error) => { | |
expect(error.message).to.equal("No user not found with given profileId") | |
}); | |
}); | |
}); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment