Having trouble testing my methods and getting stuck with my if statement not being called. I'm new to Jest, so I have a feeling it's just a simple mistake on my end.
describe('isSingleScreen', () => {
beforeEach(() => {
jest.clearAllMocks();
jest.spyOn(utilMethods, 'isDualScreen').mockReturnValue(true);
});
it('autoScreenAdd', () => {
// Arrange
const singleScreenAddSpy = jest.spyOn(
singleScreenMethods,
'singleScreenAdd'
);
const dualScreenAddSpy = jest.spyOn(dualScreenMethods, 'dualScreenAdd');
// Act
utilMethods.autoScreenAdd({});
// Assert
expect(singleScreenAddSpy).toBeCalledTimes(0);
expect(dualScreenAddSpy).toBeCalled();
expect(dualScreenAddSpy).toBeCalledTimes(1);
});
});
export const isDualScreen = (): boolean => {
return Dimensions.get('window').width > 1000 ? true : false;
};
export const autoScreenAdd = (element: IDualComponent) => {
if (isDualScreen()) {
dualScreenAdd(element);
} else {
singleScreenAdd(element);
}
};
Encountering the following error:
expect(jest.fn()).toBeCalledTimes(expected)
Expected number of calls: 0
Received number of calls: 1
30 | // Assert
31 | expect(autoScreenAddSpy).toBeCalled();
> 32 | expect(singleScreenAddSpy).toBeCalledTimes(0);
| ^
33 | expect(dualScreenAddSpy).toBeCalled();
34 | expect(dualScreenAddSpy).toBeCalledTimes(1);
35 | });