Unit Test - AngularJS1 and Jasmine












1















I want to test a method of a controller in project using jasmine. This function basically for calling http get request.



inside controller method like belows:



   $scope.performValidation = function (tries) {
var requestParams = {
lyToken: true,
emToken: $scope.lyToken,
companyID: $rootScope.companyID
};

$http({
url: eAPI + '${apiContext}/emToken',
method: 'GET',
contentType: 'application/json',
params: requestParams,
headers: {'authorization': "Bearer " + $cookies.get('access_token')}
}).then(function (data) {
redeemPoints();
}, function (status) {
});
};


eAPI and apiContext are variables and those are defined in jsp file. When I tried to implement unit test return an error called "ReferenceError: eAPI is not defined". I'm new to jasmine framework and please give me a solution.



My unit test code as follows:



 it('testing', function () {
$scope.performValidation(0);
});


And eAPI variable is defined in jsp file as follows:



 var eAPI = '<%=prop.getProperty("eAPIHTTPSDomain")%>' + ':' + '<%=prop.getProperty("eAPIManagerAPIPortHTTPS")%>';









share|improve this question

























  • The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

    – JB Nizet
    Nov 23 '18 at 10:50






  • 1





    Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

    – JB Nizet
    Nov 23 '18 at 11:16
















1















I want to test a method of a controller in project using jasmine. This function basically for calling http get request.



inside controller method like belows:



   $scope.performValidation = function (tries) {
var requestParams = {
lyToken: true,
emToken: $scope.lyToken,
companyID: $rootScope.companyID
};

$http({
url: eAPI + '${apiContext}/emToken',
method: 'GET',
contentType: 'application/json',
params: requestParams,
headers: {'authorization': "Bearer " + $cookies.get('access_token')}
}).then(function (data) {
redeemPoints();
}, function (status) {
});
};


eAPI and apiContext are variables and those are defined in jsp file. When I tried to implement unit test return an error called "ReferenceError: eAPI is not defined". I'm new to jasmine framework and please give me a solution.



My unit test code as follows:



 it('testing', function () {
$scope.performValidation(0);
});


And eAPI variable is defined in jsp file as follows:



 var eAPI = '<%=prop.getProperty("eAPIHTTPSDomain")%>' + ':' + '<%=prop.getProperty("eAPIManagerAPIPortHTTPS")%>';









share|improve this question

























  • The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

    – JB Nizet
    Nov 23 '18 at 10:50






  • 1





    Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

    – JB Nizet
    Nov 23 '18 at 11:16














1












1








1


1






I want to test a method of a controller in project using jasmine. This function basically for calling http get request.



inside controller method like belows:



   $scope.performValidation = function (tries) {
var requestParams = {
lyToken: true,
emToken: $scope.lyToken,
companyID: $rootScope.companyID
};

$http({
url: eAPI + '${apiContext}/emToken',
method: 'GET',
contentType: 'application/json',
params: requestParams,
headers: {'authorization': "Bearer " + $cookies.get('access_token')}
}).then(function (data) {
redeemPoints();
}, function (status) {
});
};


eAPI and apiContext are variables and those are defined in jsp file. When I tried to implement unit test return an error called "ReferenceError: eAPI is not defined". I'm new to jasmine framework and please give me a solution.



My unit test code as follows:



 it('testing', function () {
$scope.performValidation(0);
});


And eAPI variable is defined in jsp file as follows:



 var eAPI = '<%=prop.getProperty("eAPIHTTPSDomain")%>' + ':' + '<%=prop.getProperty("eAPIManagerAPIPortHTTPS")%>';









share|improve this question
















I want to test a method of a controller in project using jasmine. This function basically for calling http get request.



inside controller method like belows:



   $scope.performValidation = function (tries) {
var requestParams = {
lyToken: true,
emToken: $scope.lyToken,
companyID: $rootScope.companyID
};

$http({
url: eAPI + '${apiContext}/emToken',
method: 'GET',
contentType: 'application/json',
params: requestParams,
headers: {'authorization': "Bearer " + $cookies.get('access_token')}
}).then(function (data) {
redeemPoints();
}, function (status) {
});
};


eAPI and apiContext are variables and those are defined in jsp file. When I tried to implement unit test return an error called "ReferenceError: eAPI is not defined". I'm new to jasmine framework and please give me a solution.



My unit test code as follows:



 it('testing', function () {
$scope.performValidation(0);
});


And eAPI variable is defined in jsp file as follows:



 var eAPI = '<%=prop.getProperty("eAPIHTTPSDomain")%>' + ':' + '<%=prop.getProperty("eAPIManagerAPIPortHTTPS")%>';






angularjs unit-testing jasmine






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 23 '18 at 11:11







code8

















asked Nov 23 '18 at 10:45









code8code8

3316




3316













  • The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

    – JB Nizet
    Nov 23 '18 at 10:50






  • 1





    Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

    – JB Nizet
    Nov 23 '18 at 11:16



















  • The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

    – JB Nizet
    Nov 23 '18 at 10:50






  • 1





    Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

    – JB Nizet
    Nov 23 '18 at 11:16

















The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

– JB Nizet
Nov 23 '18 at 10:50





The message says: emojotAPI is not defined. It probably also refers to the line where th problem is. So analyze the situation by reading the error message. You haven't posted the relevant code, so we can't help.

– JB Nizet
Nov 23 '18 at 10:50




1




1





Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

– JB Nizet
Nov 23 '18 at 11:16





Angular unit tests don't know and care about what the JSP files do. If your code relies on a global variable to be defined, then define it in your tests.

– JB Nizet
Nov 23 '18 at 11:16












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445188%2funit-test-angularjs1-and-jasmine%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445188%2funit-test-angularjs1-and-jasmine%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Berounka

Sphinx de Gizeh

Different font size/position of beamer's navigation symbols template's content depending on regular/plain...