Тестовая копия в буфер обмена - PullRequest
0 голосов
/ 21 февраля 2020

Я изучаю Angular в минуту, и у меня есть функция в компоненте dropdown.component.ts, которая копирует нажатый текст в буфер обмена. Сама функция работает, но теперь я хочу написать для нее тест spe c. Вот как выглядит эта функция:

    copyText(text: string) {
        const copy = (e : ClipboardEvent) => {
            e.clipboardData.setData('text/plain', text);
            e.preventDefault();
        };
        document.addEventListener('copy', copy);
        document.execCommand('copy');
        document.removeEventListener('copy', copy);
    }

Я не уверен, как go проверить ее. По сути, я хочу проверить, что когда нажата кнопка copy, текст успешно копируется в буфер обмена.

Это то, что я до сих пор:

describe('DropdownComponent', () => {
    let component: DropdownComponent;
    let fixture: ComponentFixture<TreeModalComponent>;

    beforeEach(async () => {
        TestBed.configureTestingModule({
            imports: [
                MatMenuModule,
                MatTreeModule,
                MatSnackBarModule,
            ],
            declarations: [
                TreeModalComponent,
            ],
            providers: [
                {
                    provide: MatDialog,
                    useClass: MatDialogMock
                },
                { provide: MatDialogRef, useValue: {} },
                { provide: MAT_DIALOG_DATA, useValue: { properties: testFTSResultData[0].properties } },
                HttpClient,
                HttpHandler,
            ],
            schemas: [NO_ERRORS_SCHEMA],
        }).compileComponents();
    });

    beforeEach(() => {
        fixture = TestBed.createComponent(TreeModalComponent);
        component = fixture.componentInstance;
        component.properties = testResultData[0].properties;
        dialog = TestBed.get(MatDialogRef);
        viewport.set('laptop');
        fixture.detectChanges();
    });

Отсюда я хочу добавить спецификационный c тест:

    //test copy to clipboard
    it('should copy text to clipboard', () => {
        component.copyText('copy text')
    });

Я не уверен, какими должны быть последующие строки, чтобы обеспечить доступ буфера обмена к строке «копировать текст». Кто-нибудь может посоветовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...