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 | });
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 esundefined
. Esto significa que la funciónisNoticationsEnabled
no está devolviendo un valor detrue
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 elementosNotificationTypeSchedule__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 deOn
. 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.