Тестирование Mousedown с координатами в DOM Testing Library / Angular Testing Library - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь работать с элементом canvas, используя Angular Testing Library. Мне нужно сделать больше, чем щелкнуть элемент, мне нужно контролировать, где именно происходит щелчок.

Я пробовал fireEvent.mouseDown(graph, { x: 1000, y: 1000 });, но проверка события в обработчике mousedown всегда дает одинаковые координаты для события.

Как мне его щелкнуть в нужном месте?

// mousedown handler for wrapper div
// just for testing to see that I'm using fireEvent correctly
  clickedWrapper(event) {
    console.log(event); // just shows {isTrusted: false}
    console.log(event.offsetX, event.offsetY);
    console.log(event.x, event.y);
  }

// the test
describe('Mouse interaction', () => {
  let testComponent;
  beforeEach(async () => {
    testComponent = await render(NewGraphComponent);
  });
  it('zooms both axes when selection within the graph', () => {
    spyOn(NewGraphComponent.prototype, 'clickedWrapper').and.callThrough();
    const graph = testComponent.getByTestId('inner-canvas');
    fireEvent.mouseDown(graph, { offsetX: 100, y: 100 });
    expect(NewGraphComponent.prototype.clickedWrapper).toHaveBeenCalled();
  });
});

Результат:

MouseEvent{isTrusted: false}
-79, -88
0, 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...