(fixture: ComponentFixture<TestDataTableColumnDragComponent>)
| 1474 | }); |
| 1475 | |
| 1476 | function headerDrag(fixture: ComponentFixture<TestDataTableColumnDragComponent>) { |
| 1477 | const debugEl = fixture.debugElement; |
| 1478 | let dHeaderCells = debugEl.queryAll(By.css('.devui-data-table table.devui-table thead tr th')); |
| 1479 | expect(dHeaderCells[1].nativeElement.textContent).toContain('First Name'); |
| 1480 | expect(dHeaderCells[2].nativeElement.textContent).toContain('Last Name'); |
| 1481 | |
| 1482 | const columnFirstNameDragIcon = dHeaderCells[1].query(By.css('.drag-icon')); |
| 1483 | columnFirstNameDragIcon.nativeElement.style.visibility = 'visible'; |
| 1484 | |
| 1485 | const { x: fromX, y: fromY } = columnFirstNameDragIcon.nativeElement.getBoundingClientRect(); |
| 1486 | const { x: moveToX, y: moveToY, width, height } = dHeaderCells[2].nativeElement.getBoundingClientRect(); |
| 1487 | const mouseDownEvt = createMouseEvent('mousedown', fromX, fromY); |
| 1488 | const mouseMoveEvt = createMouseEvent('mousemove', moveToX + width, moveToY + height / 2); |
| 1489 | const mouseUpEvt = createMouseEvent('mouseup'); |
| 1490 | columnFirstNameDragIcon.nativeElement.dispatchEvent(mouseDownEvt); |
| 1491 | tick(); // emit onTap, setTimeout: wait for mousemove & mouseup addEventListener |
| 1492 | document.documentElement.dispatchEvent(mouseMoveEvt); // emit handleMouseMove, add event listener to grab |
| 1493 | tick(); |
| 1494 | document.documentElement.dispatchEvent(mouseDownEvt); // emit grab |
| 1495 | tick(); // add event listener mouse move |
| 1496 | document.documentElement.dispatchEvent(mouseMoveEvt); // emit startBecauseMouseMoved |
| 1497 | tick(); |
| 1498 | document.documentElement.dispatchEvent(mouseMoveEvt); // emit drag |
| 1499 | tick(); |
| 1500 | document.documentElement.dispatchEvent(mouseUpEvt); // emit release |
| 1501 | flush(); |
| 1502 | fixture.detectChanges(); |
| 1503 | dHeaderCells = debugEl.queryAll(By.css('.devui-data-table table.devui-table thead tr th')); |
| 1504 | expect(dHeaderCells[1].nativeElement.textContent).toContain('Last Name'); |
| 1505 | expect(dHeaderCells[2].nativeElement.textContent).toContain('First Name'); |
| 1506 | } |
no test coverage detected