es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy tratando de afirmar que el siguiente método es verdadero, pero obtengo “Undefined”.

Básicamente, puedo obtener el texto de todos los botones, pero obtengo el error que dice “Undefined” al afirmar que es verdadero. Por favor, necesito ayuda, avíseme si se necesita más información. Gracias.

async isNoticationsEnabled(type: string) {

const notificationType = await this.getNotificationsTypeByText(type);
const selectContainer = await notificationType.$$('.NotificationTypeSchedule__selectContainer');
const sms = selectContainer[1];
const mobilePush = selectContainer[2];
const webPush = selectContainer[3];
const enabled = [];
enabled.push(sms, mobilePush, webPush)
for (let i = 0; i < enabled.length; i++) {
  const elements = enabled[i];
  if(await elements?.getText() === 'On') {
    return true;
  }
}

}

Resultado:

expect(received).toBe(expected) // Igualdad de Object.is

Expected: true
Received: undefined

  42 |     expect(await NotificationsTabs.isNotificationSectionDisplayed()).toBe(true)
  43 |     await NotificationsTabs.scrollTo('Note Mentions')
> 44 |     expect(await NotificationsTabs.isNoticationsEnabled('Note Mentions')).toBe(true);
     |                                                                             ^
  45 |   });
  46 | });

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está con la afirmación en el caso de prueba, donde el valor esperado es true pero el valor recibido es undefined. Esto significa que la función isNoticationsEnabled no está devolviendo un valor de true como se esperaba.

    Para depurar este problema, puedes agregar algunos registros en la consola o usar un depurador para ver qué está sucediendo dentro de la función. Una cosa para verificar es si la función getNotificationsTypeByText está devolviendo el elemento correcto que contiene los elementos NotificationTypeSchedule__selectContainer.

    Otra cosa para verificar es si el método getText() está devolviendo el valor correcto para cada elemento de botón. Puedes agregar un registro en la consola para mostrar el valor de texto y ver si coincide con el valor esperado de On. Es posible que el valor de texto sea diferente o que haya espacios en blanco u otros caracteres que estén afectando la comparación.

    Una vez que hayas identificado el problema, puedes realizar los cambios necesarios para solucionarlo y asegurarte de que la función devuelva el valor esperado de true cuando todos los botones estén habilitados.

Comments are closed.