Closed gladsjr closed 10 months ago
Nos testes abaixo, só são testados os eventos que são retornados. Falta testar o valor retornado pela função também.
it("should not allow an admin to add another admin within 24 hours", async () => {
it("should not allow a recently added admin to add another admin within 24 hours", async () => {
Não há mais necessidade.
Estes são testes de caixa branca. Idealmente, todas os caminhos de execução precisam ser testados. O addAdmin tem cinco caminhos de execução: os três ifs e dois no else (quando add retorna false e quando retorna true). Cada um precisa ser testado. Só foram testados dois caminhos: o terceiro if e o else com add retornando true. Além disso, em cada um desses caminhos de execução, é preciso testar todo o protocolo. Ou seja, é necessário testar se o retorno da função foi condizente (no caso, o que foi retornado no return), se a alteração no estado da blockchain foi ok (que foi a única coisa testada com o isAuthorized) e os eventos que foram emitidos. Observem que isso é a teoria. Eu não tenho prática nessa técnica, logo peço para vocês avaliarem um possível meio termo entre estes dois extremos.
Assignees: Lionel-Rocha, Juanpcsdev Labels:
https://github.com/RBBNet/Permissionamento/blob/b6987ec91f379c9a0a3c127e376410269590620c/test/test-admin.js#L97