/** * @author windy * @version 2.0 * Created by windy on 2019/9/23 */ describe("value_chooser_pane", function () { var items = BI.map(BI.makeArray(1000, null), function(idx, v) { return { text: idx, value: idx, title: idx }; }); var itemSelectorGetter = function (array) { return BI.map(array, function (idx, num) { return ".popup-multi-select-list .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; }); }; var searchItemSelectorGetter = function (array) { return BI.map(array, function (idx, num) { return ".bi-multi-select-search-pane .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; }); }; /** * test_author_windy **/ it("setValue", function () { var widget = BI.Test.createWidget({ type: "bi.value_chooser_pane", width: 220, itemsCreator: function (op, callback) { callback(items); } }); widget.setValue({ type: 1, value: [1, 2] }); expect(widget.getValue()).to.deep.equal({ type: 1, value: [1, 2] }); widget.destroy(); }); /** * test_author_windy **/ it("点选选值", function (done) { var widget = BI.Test.createWidget({ type: "bi.value_chooser_pane", width: 220, items: items }); BI.nextTick(function () { // 点选1、2、3 BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { widget.element.find(selector).click(); }); // 点全选 widget.element.find(".popup-multi-select-list .bi-label:contains(全选)").click(); // 取消勾选1、2、3 BI.delay(function () { BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { widget.element.find(selector).click(); }); expect(widget.getValue()).to.deep.equal({ type: 2, value: [0, 1, 2] }); widget.destroy(); done(); }, 300); }); }); /** * test_author_windy **/ it("搜索选值", function (done) { var widget = BI.Test.createWidget({ type: "bi.value_chooser_pane", width: 220, itemsCreator: function (op, callback) { callback(items); } }); widget.element.find(".bi-water-mark").click(); // 这边为啥要加呢,因为input的setValue中有nextTick BI.nextTick(function () { BI.Test.triggerKeyDown(widget.element.find(".bi-input"), "2", 50, function () { BI.nextTick(function () { BI.each(searchItemSelectorGetter([1,2]), function (idx, selector) { widget.element.find(selector).click(); }); expect(widget.getValue()).to.deep.equal({ type: 1, value: [2, 12] }); widget.destroy(); done(); }); }); }); }); });