量角器:从Prototype返回Repeater Count

时间:2015-05-14 06:26:33

标签: javascript angularjs count repeater protractor

我有这种我无法理解的行为:

Cart.prototype.getCouponsCount = function() {

    // Loop through all rows of coupons currently available in the cart
    ele.cartCouponsList.count().then(function(count) {

        console.log("Amount of items in cart:", count);
        return count;
    });
};

当这样调用时:

var Cart = require("../../../../lib/cartlib");
var cart = new Cart();

expect(cart.getCouponsCount()).toBe(2);

返回undefined,但在控制台中,我可以看到正在打印的正确优惠券金额。所以它只是没有将计数归还。

同样地,我将此工作用于getText()方法,因此我无法理解为什么count()方法的行为会有所不同。

工作方法:

Cart.prototype.getEvent = function(row) {

    var cartHistory = new Cart();
    var parent = cartHistory.getCartCoupon(row);

    var child = parent.element(by.binding("selection.event.name"))
        .getText().then(function(e) {

            console.log(e);
            return e;
        });
};

任何人都可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

该函数有无返回,添加它:

Cart.prototype.getCouponsCount = function() {

    // HERE 
    return ele.cartCouponsList.count().then(function(count) {

        console.log("Amount of items in cart:", count);
        return count;
    });
};