Жасмин больше не находит элементы управления формой - PullRequest
0 голосов
/ 29 апреля 2020

У нас есть несколько тестов Жасмин, написанных для Angular 4, и PrimeNG Controls также версии 4, которые работали нормально. Рабочий тест против этого был:

describe('When invalid', () => {
              beforeEach(fakeAsync(() => {
                fixture.detectChanges();
                tick();
                comp.request.mpan = '1234567890123';
                comp.request.meterSerialNumber = '12345';
                comp.request.effectiveDateTime = moment().startOf('day').toDate();

                fixture.detectChanges();
                tick(1000);
              }));

              it('Effective Date Time has validation errors', () => {
                expect(comp.form.controls['effectiveDateTime'].status).toBe('INVALID');
              });
            });

и с помощью инструментов разработчика chrome я мог видеть все элементы управления формой. Теперь после обновления до Angular 9 и до последней версии Jasmine я больше не вижу элементы управления в форме.

Так что в моем исходном коде я мог видеть:

original from chrome

и теперь я получаю следующее, а элементы управления пусты:

enter image description here

Если я изменю свое ожидание заявления выше, чтобы быть:

const calendarControl = fixture.debugElement.nativeElement;
 expect(calendarControl.querySelector('#effectiveDateTime').status).toBe('INVALID');

, тогда я получаю элемент управления, но, поскольку 'status' объявлен в абстрактном классе, я все еще не могу получить это свойство. CalendarControl - это p-календарь от primeNG, но я не думаю, что это проблема, так как я не вижу никаких элементов управления в форме через инструменты разработчика сейчас, независимо от типа элемента управления.

...