Приведи пример как мне использовать cucumber для класса Navigator, используя ts + playwright 
хочу чтобы на каждый метод выводилось действие в консоли
const { expect } = require('@playwright/test');
const constants = require('../constants');
const { scrollIfNeed } = require('../testUtils/navigatorPanelUtils')

module.exports = class Navigator {
    constructor(page) {
        this.page = page;
    }

    // locators

    // Получить кнопку-переключатель "Навигатор"
    getTreeToggleButton() {
        return this.page.locator('[data-test="navigator-panel_toggle-button"]');
    }

    // Получить кнопку-переключатель "Символы"
    getSymbolToggleButton() {
        return this.page.locator('[data-test="symbol-panel_toggle-button"]');
    }

    // Получить кнопку-переключатель "Свойства"
    getPropertyToggleButton() {
        return this.page.locator('[data-test="properties-panel_toggle-button"]');
    }

    // Получить кнопку-переключатель "Мини-карта"
    getMapToggleButton() {
        return this.page.locator('[data-test="map-panel_toggle-button"]');
    }

    // Получить кнопку-переключатель "Комментарии"
    getCommentToggleButton() {
        return this.page.locator('[data-test="comment-panel_toggle-button"]');
    }

    // methods

    // Открыть панель "Навигатор"
    async openTreePanel() {
        await this.getTreeToggleButton().click();
        await expect(this.getTreeToggleButton()).toHaveClass(/navItemSelected/);
    }

    // Закрыть панель "Навигатор"
    async closeTreePanel() {
        await this.getTreeToggleButton().click();
        await expect(this.getTreeToggleButton()).not.toHaveClass(/navItemSelected/);
    }

    // Открыть панель "Символы"
    async openSymbolPanel() {
        await this.getSymbolToggleButton().click();
        await expect(this.getSymbolToggleButton()).toHaveClass(/navItemSelected/);
    }

    // Закрыть панель "Символы"
    async closeSymbolPanel() {
        await this.getSymbolToggleButton().click();
        await expect(this.getSymbolToggleButton()).not.toHaveClass(/navItemSelected/);
    }

    // Открыть панель "Свойства"
    async openPropertyPanel() {
        await this.getPropertyToggleButton().click();
        await expect(this.getPropertyToggleButton()).toHaveClass(/navItemSelected/);
    }

    // Закрыть панель "Свойства"
    async closePropertyPanel() {
        await this.getPropertyToggleButton().click();
        await expect(this.getPropertyToggleButton()).not.toHaveClass(/navItemSelected/);
    }

    // Открыть панель "Мини-карта"
    async openMapPanel() {
        await this.getMapToggleButton().click();
        await expect(this.getMapToggleButton()).toHaveClass(/navItemSelected/);
    }

    // Закрыть панель "Мини-карта"
    async closeMapPanel() {
        await this.getMapToggleButton().click();
        await expect(this.getMapToggleButton()).not.toHaveClass(/navItemSelected/);
    }

    // Открыть панель "Комментарии"
    async openCommentPanel() {
        await this.getCommentToggleButton().click();
        await expect(this.getCommentToggleButton()).toHaveClass(/navItemSelected/);
    }

    // Закрыть панель "Комментарии"
    async closeCommentPanel() {
        await this.getCommentToggleButton().click();
        await expect(this.getCommentToggleButton()).not.toHaveClass(/navItemSelected/);
    }

};