/** * Copyright (c) 2017, Oleg Kiriljuk, oleg.kiriljuk@ok-soft-gmbh.com * Dual licensed under the MIT and GPL licenses * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html */ /// /// $(() => { "use strict"; const mydata = [ { id: 10, firstName: "Angela", lastName: "Merkel" }, { id: 20, firstName: "Vladimir", lastName: "Putin" }, { id: 30, firstName: "David", lastName: "Cameron" }, { id: 40, firstName: "Barack", lastName: "Obama" }, { id: 50, firstName: "François", lastName: "Hollande" } ]; const $grid = $("#grid").jqGrid({ colModel: [ { name: "firstName" }, { name: "lastName" } ], data: mydata }); const grid: FreeJqGrid.GridInfo = $grid[0].grid; let t1 = $("#grid").jqGrid("getGridParam", "data"); let t11 = $("#grid").jqGrid("getGridParam", "data"); let ids: string[] = $("#grid").jqGrid("getDataIDs"); //var t2 = $("#grid").jqGrid("getGridParam", 1); //var t3 = $("#grid").jqGrid("getGridParam", "data", t1); //if (ids != null && ids.length > 0) { // alert(ids[0].substr(0)); //} //$.jgrid.del. //var d = $("#grid").jqGrid("getGridParam", "data", 2); // error: Supplied parameters do not match any signature of call target //var currentData = $("#grid").getGridParam(4); // error: Argument of type '4' is not assignable to parameter of type 'string'. //var ids1 = $("#grid").jqGrid("getDataIDs", 4); // error: Argument of type '"getDataIDs"' is not assignable to parameter of type '"getGridParam"'. //var ids2 = $("#grid").jqGrid("getDataIds"); // error: Argument of type '"getDataIds"' is not assignable to parameter of type 'FreeJqGridOptions' /*) alert("We use " + $.jgrid.productName + " " + $.jgrid.version); alert($.jgrid.locales[$.jgrid.defaults.locale].defaults.emptyrecords); alert($.jgrid.locales[$.jgrid.defaults.locale].search.odata[0].text); */ //$.jgrid.clearArray(mydata); const gridDom = $("#grid")[0]; const headers = gridDom.grid.headers; //headers: { el: HTMLTableHeaderCellElement; width: number; }[] const colHeaderHeight: number = $(headers[1].el).height(); QUnit.test("grid exists", function(assert) { assert.equal($grid.length, 1, "Passed!"); }); QUnit.test("gbox exists", function(assert) { assert.equal($grid.closest(".ui-jqgrid").length, 1, "Passed!"); }); QUnit.test("grid expando exists", function(assert) { assert.notEqual( gridDom.grid, undefined, "Passed!"); }); QUnit.test("p expando exists", function(assert) { assert.notEqual(gridDom.p, undefined, "Passed!"); }); QUnit.test("rows of grid exist - it's table", function(assert) { assert.notEqual(gridDom.rows, undefined, "Passed!"); }); QUnit.test("grid has 6 rows", function(assert) { assert.equal(gridDom.rows.length, 6, "Passed!"); }); QUnit.test("grid has 1 hidden first rows (with class jqgfirstrow)", function(assert) { assert.equal($(gridDom.rows[0]).hasClass("jqgfirstrow"), true, "Passed!"); }); QUnit.test("grid has 5 data rows (with class jqgrow)", function(assert) { assert.equal($grid.find(">tbody>tr.jqgrow").length, 5, "Passed!"); }); /* QUnit.test("grid has the pager", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).length, 1, "Passed!"); }); QUnit.test("the pager is DIV", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector)[0].nodeName.toUpperCase(), "DIV", "Passed!"); }); QUnit.test("the pager is inside of gbox", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).closest(".ui-jqgrid").length, 1, "Passed!"); }); QUnit.test("the pager is inside of gbox", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).closest(".ui-jqgrid").length, 1, "Passed!"); }); QUnit.test("the pager has INPUT with 1", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find("input.ui-pg-input").val(), "1", "Passed!"); }); QUnit.test("the last page is 2", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"), lastPageSpanId = "#sp_1_" + pagerIdSelector.substring(1); assert.equal($(lastPageSpanId).text(), "2", "Passed!"); }); QUnit.test("the page size is 10", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find("select.ui-pg-selbox").val(), "10", "Passed!"); }); QUnit.test("the page info \"View 1 - 10 of 12\"", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find(".ui-paging-info").text(), "View 1 - 10 of 12", "Passed!"); }); QUnit.test("the pager contains navigator bar", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find(".navtable").length, 1, "Passed!"); }); QUnit.test("the navigator bar is DIV", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find(".navtable")[0].nodeName.toUpperCase(), "DIV", "Passed!"); }); QUnit.test("the navigator bar contains 4 buttons", function(assert) { let pagerIdSelector = $grid.jqGrid("getGridParam", "pager"); assert.equal($(pagerIdSelector).find(".navtable").find(".ui-pg-button>.ui-pg-div").length, 4, "Passed!"); }); QUnit.test("the first row if data have id 11", function(assert) { assert.equal($grid[0].rows[1].id, "11", "Passed!"); });*/ QUnit.test("1-st cell of the 1-st row contain \"Angela\"", function(assert) { assert.equal($((gridDom.rows[1]).cells[0]).text(), "Angela", "Passed!"); }); QUnit.test("2-d cell of the 1-st row contain \"Merkel\"", function(assert) { assert.equal($((gridDom.rows[1]).cells[1]).text(), "Merkel", "Passed!"); }); /* QUnit.test("formatted 2007-10-01 is 01-Oct-2007", function(assert) { assert.equal($($grid[0].rows[1].cells[1]).text(), "01-Oct-2007", "Passed!"); }); QUnit.test("0 formatted as number is 0.00", function(assert) { assert.equal($($grid[0].rows[1].cells[2]).text(), "0.00", "Passed!"); });*/ /*QUnit.test("test data returned by getRowData for the rowid=51", function(assert) { let rowData = $grid.jqGrid("getRowData", "51"); assert.deepEqual(rowData, { invdate: "31-Oct-2007", name: "test5", note: "note5", amount: "300.00", tax: "20.00", closed: "false", ship_via: "FE", total: "320.00" }, "Passed!"); }); QUnit.test("test add data by addRowData for the rowid=10", function(assert) { let rowData = $grid.jqGrid("addRowData", "10", { invdate: "2015-04-03", name: "test15", note: "note15", amount: 300.00, tax: 20.00, closed: true, ship_via: "FE", total: 320.00 }); assert.equal(($grid[0]).rows.length, 12, "the grid has 11 data rows"); assert.equal($(($grid[0]).rows[11].cells[1]).text(), "03-Apr-2015", "2015-04-03 is displayed as 03-Apr-2015"); assert.equal($(($grid[0]).rows[11]).hasClass("myAltRowClass"), false, "the last row has no myAltRowClass"); assert.equal($(($grid[0]).rows[10]).hasClass("myAltRowClass"), true, "the previous row has myAltRowClass"); });*/ });