Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
¿Cómo simular un objeto de ventana de terceros en la prueba vue?

Entonces tengo un método vue que necesito probar

en CheckoutButton.vue

 createMidtransToken () { const card = this.$store.state.payment.creditCardPayload const options = { onSuccess: (response) => { // HANDLING SUCCESS const payload = { ...this.paymentTypeChoosen, token: response.token_id } this.payCheckout(payload) }, onFailure: (response) => { // HANDLING ERROR const errorMessage = response.status_message this.$alertModal.show({ show: true, type: 'error', title: 'Transaksi Dibatalkan', text: errorMessage, showButton: true, buttonText: 'Kembali', buttonEventExist: true, buttonEvent: () => { this.handleRouteError() } }) } } window.MidtransNew3ds.getCardToken(card, options) }

en CheckoutButton.spec.js

 it('Should test createMidtransToken', () => { Object.defineProperty(window, 'MidtransNew3ds', { getCardToken: jest.fn() }) wrapper.vm.createMidtransToken() expect(window.MidtransNew3ds.getCardToken).toHaveBeenCalled() }) })

y me sale un error

● Probar el componente CheckoutButton con el resumen de la etapa › Debería probar createMidtransToken

 TypeError: Cannot read property 'getCardToken' of undefined 362 | } 363 | } > 364 | window.MidtransNew3ds.getCardToken(card, options) | ^ 365 | },

¿Cómo pruebo el método createMidtransToken para que la prueba del archivo pueda ejecutarse correctamente?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Los argumentos defineProperty son incorrectos. Debe haber una función de get o un value de valor en el objeto de configuración para definir una propiedad.

 Object.defineProperty(window, 'MidtransNew3ds', { value: { getCardToken: jest.fn() } })

No hay razón para usarlo aquí porque defineProperty es útil solo para propósitos específicos. Se puede definir por prueba o en beforeEach para todas las pruebas:

 window.MidtransNew3ds = { getCardToken: jest.fn() };

Y siempre debe limpiarse en afterEach para no afectar otras pruebas:

 delete window.MidtransNew3ds
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda