No primeiro teste, o instrutor buscou pelos eventos emitidos antes da submissão do formulário, ou seja, antes de passar pelo método darLance() e executar a lógica que estamos querendo testar. Segue trecho do código:
test('não emite novo lance com valor menor do que zero', () => {
const wrapper = mount(Lance)
const input = wrapper.find('input')
input.setValue(-100)
const lancesEmitidos = wrapper.emitted('novo-lance')
wrapper.trigger('submit')
expect(lancesEmitidos).toBeUndefined()
})
Esse é um bom exemplo de como devemos ter atenção ao escrevermos nossos testes. Por mais que o teste passe, ele não valida a lógica que se propõe.
O correto seria buscarmos pelos eventos emitidos pelo componente após a submissão do form, que dispara o método que contém a lógica que queremos ver se funciona corretamente ou não.
test('não emite novo lance com valor menor do que zero', () => {
const wrapper = mount(Lance)
const input = wrapper.find('input')
input.setValue(-100)
wrapper.trigger('submit')
const lancesEmitidos = wrapper.emitted('novo-lance')
expect(lancesEmitidos).toBeUndefined()
})