транспортир вызов GET и PUT API - PullRequest
0 голосов
/ 09 мая 2018

Я хочу выполнить вызов API в моем тестовом примере транспортира внутри функции beforeAll (), и как только я получу обещание возврата, мои тестовые примеры должны начать выполняться. так как мои тесты сильно зависят от ответа API. Я попытался использовать jQuery, однако он показывает «jQuery не определено». Я использую транспортир 5.3.0.

var data ={
    "request": {
        "urlPattern": "/portal/user/profile",
        "method": "GET",
        "headers": {
            "Accept": {
                "contains": "application/json"
            },
            "Content-Type": {
                "contains": "application/json"
            }
        }
    },
    "response": {
        "bodyFileName": "abc.json",
        "headers": {
            "Content-Type": "application/json",
            "Access-Control-Allow-Headers": "Content-Type",
            "Access-Control-Allow-Credentials": "true",
            "Access-Control-Allow-Origin": "{{request.headers.Origin}}"
        },
        "transformers": [
            "response-template"
        ]
    }
};

function setUserProfile(profile, data){
    var id;
    if(data) {
        data.response.bodyFileName = "abc.json";
    }
    jQuery.ajax({
        url: "someurl",
        type: 'GET',
        dataType: 'json',
        contentType:  'application/json',
        success: function(result) {

            result.mappings.forEach(function(mappingItem) {
                if(mappingItem.request.urlPattern === '/portal/user/profile') {
                    id = mappingItem.id;
                }
            });
            jQuery.ajax({
                url: "someurl",
                type: 'PUT',
                data: JSON.stringify(data),
                dataType: 'json',
                contentType:  'application/json',
                success: function(result) {
                    console.log("success?", result);
                }
            });
        }
    });
}

describe('Logout Page', function () {
    var userDropdownEle;
    beforeAll(function () {

        request('someurl', function (error, response, body) {
            console.log('error:', error); // Print the error if one occurred
            console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
            console.log('body:', body); // Print the HTML for the Google homepage.
        });

        userDropdownEle = element(by.css(logoutSelectors.dropDownButton));
        xchangePageObject.getLoginUrl();
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...