Ожидаемое истинное равное ложному - PullRequest
0 голосов
/ 28 мая 2018

Я хочу проверить что-то угловое, чего на самом деле нет в учебнике по Ангуару.

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

  <input #cardInput type="text" class="form-control" name="tarjetaSanitaria" id="field_tarjetaSanitaria"
	                [(ngModel)]="paciente.tarjetaSanitaria" maxlength="20"/>
	            <div [hidden]="!(editForm.controls.tarjetaSanitaria?.dirty && editForm.controls.tarjetaSanitaria?.invalid)">
	                <small class="form-text text-danger"  id="ref"
	                   [hidden]="!editForm.controls.tarjetaSanitaria?.errors?.maxlength"  translateValues="{ max: 20 }">
	                   This field cannot be longer than 20 characters.
	                </small>

Мой компонент имеет это:

 paciente: Paciente = {tarjetaSanitaria: 'ddd'} as Paciente;

И мой тест:

       fit ('Blank input is not valid', async(() => {
               
                comp.paciente.tarjetaSanitaria = 'ddddddddddddddddddddddddddddddddddddddddddd' ;
                spyOn(comp, 'save');
              var1 = comp.submitButton.nativeElement;
              var1.click();
              fixture.detectChanges();
              expect(comp.save).toHaveBeenCalledTimes(1);
expect(fixture.debugElement.query(By.css('#ref')).nativeElement.hasAttribute('hidden')).toEqual(false);

                })); 

Всегда не получается сказать, что ожидается истинное, чтобы квалифицировать ложное. Если я удаляю fixture.Я сделал что-то не так?

1 Ответ

0 голосов
/ 28 мая 2018

Выражение

 fixture.debugElement.query(By.css('#ref')).nativeElement.hasAttribute('hidden')

читается так, как будто оно проверяет, имеет ли элемент #ref атрибут с именем hidden.Если это так, результат вряд ли будет зависеть от значения атрибута.

Если свойство nativeElement является HTMLElement в DOM, который всегда имеет атрибут «скрытый», вы должны иметь возможность получить егозначение с использованием

fixture.debugElement.query(By.css('#ref')).nativeElement.getAttribute('hidden')

Однако у меня нет способа удобно проверить тип данных атрибута.Если это строка, вы должны ожидать, что ее значением будет строка «false».Если это логическое значение, вам, вероятно, следует ожидать, что его значение будет логическим значением false.

Если вы уже не знаете тип данных атрибута "hidden" или насколько истина и ложьсохраненный в атрибуте, добавьте некоторый код отладки, чтобы установить тип данных, прежде чем продолжить.Удачи!

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