Como o método “element (selector, label) .query (fn)” funciona nos testes Angular E2E?

Ao escrever testes E2E paraCorredor do cenário angular Me deparei com umquery() método:

element(selector, label).query(fn)

odocumentação diz:

Executa a função fn (selectedElements, done), onde selectedElements são os elementos que correspondem ao seletor de jQuery fornecido e é uma função que é chamada no final da função fn. O rótulo é usado para saída de teste.

Então eu escrevi um caso para um conjunto de botões na minha página html:

it('should display all buttons on page load', function () {
    var buttonText = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
    element('button', 'UI elements').query(function (selectedElements, done) {
        selectedElements.each(function (idx, elm) {
            expect(elm.innerText in buttonText).toEqual(true);
        });
        done();
    });
});

Como resultado da execução do teste, recebi uma lista de 10 cláusulas de expectativa com texto:

esperado verdadeiro, mas foi indefinido

Depuração intermediária mostrou queelm.innerText in buttonText condição é vital.

Então, minha pergunta é: o que deu errado? É o uso incorreto dedone() método?

questionAnswers(2)

yourAnswerToTheQuestion