Вот мой сервис, который я хочу проверить. Я хочу проверить функцию validateEmailService ()
'use strict';
angular.module('bahmni.registration')
.factory('emailService',['$http',function ($http) {
var validateEmailService=function (validateEmailUrl,validateEmailParameters,email) {
var url=validateEmailUrl +'?';
angular.forEach(validateEmailParameters,function (value,key) {
url=url +key +'='+ value.parameter +'&';
});
url=url+'email='+email;
return $http.get(url).then(function (value) {
var result = value;
var smtpCheck = result.data.smtp_check;
var mxRecordsCheck = result.data.mx_found;
if (smtpCheck === true && mxRecordsCheck === true){
return true;
}
return false;
});
};
var sendEmailService=function (sendEmailApiUrl,emailData,config,email,firstName,lastName) {
emailData = JSON.stringify(emailData);
emailData = emailData.replace("%%Email%%", email);
emailData = emailData.replace("%%FirstName%%", firstName);
emailData = emailData.replace("%%LastName%%", lastName);
emailData = JSON.parse(emailData);
$http.post(sendEmailApiUrl, emailData, config);
};
return {
validateEmailService: validateEmailService,
sendEmailService: sendEmailService
};
}]);
Это мой тест
'use strict';
describe("emailService",function(){
var factory;
beforeEach(function(){
module('bahmni.registration');
inject(function($injector){
factory=$injector.get('emailService');
});
});
describe("validateEmailService",function(){
var url='https://apilayer.net/api/check';
var parameter={
access_key : {parameter:"040a5440233f1d1245a8f75b583438fe"},
smtp: {parameter:1}
};
var email='tanmay.mv2@gmail.com';
module(function($provide) {
$provide.service('emailService', function() {
this.validateEmailService = jasmine.createSpy('validateEmailService').andCallFake(function(url,parameter,email) {
it("Should be a valid email ID",function($http){
expect(factory.validateEmailService(url,parameter,email)).toEqual(true);
});
});
});
});
});
});
Теперь проблема в том, что этот тест проходит успешно как при условиях, т.е. .toEqual (true), так и .toEqual (false)
Так что, пожалуйста, кто-нибудь может решить эту проблему