Reputation: 5414
I'm having trouble inserting values into the file under test:
import device from '../device'
let execute = () => {
if (device.isAndroid()) {
return true
else {
return false
}
}
Now for the test file:
jest.mock('../device')
import device from '../device'
describe('when the device is Android', () => {
let device
beforeEach(() => {
device = jest.fn().mockImplementation(() => {
return {
isAndroid: () => { return true }
}
})
})
it('returns true', () => {
let results = execute()
expect(result).toEqual(true)
})
})
The test fails and returns false
. What am I doing wrong?
Upvotes: 0
Views: 692
Reputation: 110912
You need to mock '../device'
with a jest spy and the mock implementation on that:
jest.mock('../device', ()=>{return {isAndroid: jest.fn()}})
import device from '../device'
describe('when the device is Android', () => {
beforeEach(() => {
device.isAndroid.mockImplementation(() => true)
})
it('returns true', () => {
let results = execute()
expect(result).toEqual(true)
})
})
Upvotes: 1