Ниже приведен фрагмент моего кода, который проверяет, что форма правильно вставляет значения по умолчанию, для которых существуют различные типы ввода, такие как текст и число, которые все проходят этот тест:
let editingAdminPage;
beforeEach(async () => {
editingAdminPage = await render(
<Admin history={{ location: { search: "?courseId=1" } }} />
);
});
it(`site_id input should be the default value`, () => {
const input = editingAdminPage.getByLabelText(new RegExp("Site"));
expect(input.value).toBe(1);
});
К сожалению, тест <select>
не проходит и выдает input.value = ""
, поэтому я добавил console.log(input)
, чтобы посмотреть, каково было значение, и он возвратил объект, который сказал, что значение было "1". Этот раздел показан ниже.
'__reactEventHandlers$qa0gkfs2mu': {
id: 'site_id',
required: true,
value: '1',
name: 'site_id',
onChange: [Function: handleChange],
onBlur: undefined,
disabled: false,
className: 'c-form-select__dropdown',
'aria-describedby': null,
'data-test-id': 'toolkit-select-input-dropdown',
children: [ [Object], [] ]
},
Я также проверил этот ввод во время работы фактической программы, и поле выбора правильно выбирает 1 при рендеринге, так почему выполнение input.value
возвращает 1, когда все факты говорят в противном случае?