3
respostas

Como testar uma função que nao espera um parametro?

Bom dia, to com uma duvida eu tenho a seguinte função.

static admGeral() {
    return store.state.currentUser.perfil.tipoPerfilServidorChave !== 'AdministradorGeral';
  }

a minha função de teste eu fiz assim

 test('admGeral', () => {
          const retorno = UtilService.admGeral();
          expect(retorno).toBeDefined();
      });

porém estou com duvida, por que o teste da erro retornando null, pois nao existe o store, queria saber como eu poderia criar esse teste.

3 respostas

Salve, Icaro.

Nesse caso específico, você precisaria criar um mock da store e testar os dois tipos de retorno (para conseguir testar o retorno sendo false e outro sendo true).

Mas, olhando por alto, a sua função se parece muito com um getter do Vuex.

Como eu faço um mock dessa store?

Achei um exemplo bem bacana na documentação, Icaro... olha só:

test('vuex using a mock store', async () => {
  const $store = {
    state: {
      count: 25
    },
    commit: jest.fn()
  }

  const wrapper = mount(App, {
    global: {
      mocks: {
        $store
      }
    }
  })

  expect(wrapper.html()).toContain('Count: 25')
  await wrapper.find('button').trigger('click')
  expect($store.commit).toHaveBeenCalled()
})