Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A linha console.log(helper.dataParaTexto(negociacao.data)) aparece como 'undefined' no console

Olhei diversas vezes e o erro tem me passado desapercebido. NegociacaoController:

class NegociacaoController {

    constructor() {

        let $ = document.querySelector.bind(document);

        this._inputData = $('#data');
        this._inputQuantidade = $('#quantidade');
        this._inputValor = $('#valor');
    }

    adiciona(event) {

        event.preventDefault();

        let helper = new DateHelper(); 

        let negociacao = new Negociacao(
            helper.textoParaData(this._inputData.value),
            this._inputQuantidade.value,
            this._inputValor.value
        );
        console.log(negociacao)

        console.log(helper.dataParaTexto(negociacao.data))
    }


}

DateHelper:

class DateHelper {

    textoParaData(texto) {
        return new Date(...texto.split('-').map((item, indice) => item - indice % 2));
    }

    dataParaTexto(data) { 
        alert('oie');
        data.getDate() + '/' 
        + (data.getMonth() + 1) + '/'
        + data.getFullYear();
    }

}

HTML:

<script src="js/app/models/Negociacao.js"></script>
<script src="js/app/controllers/NegociacaoController.js"></script>
<script src="js/app/helpers/DateHelper.js"></script>

<script>
    let negociacaoController = new NegociacaoController()
</script>
1 resposta
solução!

Um return estava faltando no método data para texto:

    dataParaTexto(data) { 

        return data.getDate() + '/' 
       + (data.getMonth() + 1) + '/'
       + data.getFullYear();
    }