0

在我的 Angular 应用程序中,我有一个简单的反应式表单,它使用ng-select作为必需的输入。

我还有一个“保存”按钮,仅在表单有效时才启用。

一切正常。

我想编写一个简单的测试用例,以确保在 ng-select 控件没有值时不启用 Save 按钮。

这是我能够做到的:

it('should not allow to save without a selected item', () => {
  component.form.get('myNgSelectControl').setValue('some-value');
  component.form.updateValueAndValidity();
  fixture.detectChanges();
  expect(page.saveButton.disabled).toBe(false);

  component.form.get('myNgSelectControl').setValue(null);
  component.form.updateValueAndValidity();
  fixture.detectChanges();
  expect(page.saveButton.disabled).toBe(true);
});

但是我想以不同的方式构建这个测试,我想模拟更多更高级别的工作流程:而不是手动设置表单控件的值,我想做一些类似的事情:

“在 ng-select 中键入值 xxx”

“从下拉菜单中选择项目 xxx”

(断言保存按钮现在已启用)

“通过单击 ng-select 的‘X’清除选择”

(断言“保存”按钮现在已禁用)

我怎样才能做到这一点?

4

0 回答 0