@jeffheifetz I looked into it tonight. The thing is client.js requires Contact.js (client.js also needs an exec spy), I find that in the Contact.js unit tests, they use the spy declared in client.js unit test and ignore the spy I declared in its own file. For this reason, I must do cordova.require on these lines so that it wouldn't use the spy in the other file. I have removed the exec variable from Contact.js