Crear un Caso de Prueba con Bifurcación
Hay ocasiones que es necesario realizar acciones distintas de acuerdo al estado de la aplicación o a la respuesta que obtuvimos de la misma. Para ese tipo de escenarios se utiliza el constructor Decision.
En este caso realizaremos el caso de prueba denominado VerClienteConCondición. Este caso de prueba consiste en entrar a trabajar con clientes y luego buscar un cliente, si el mismo es Abstracta entonces se visualizará y en cualquier otro caso se entrará a la página de modificación.
Para realizar este caso de prueba primero se deben seguir los pasos descritos en Crear un Caso de Prueba con DataPools nada más que al caso de prueba se le debe llamar VerClienteConCondición.
Luego se debe arrastrar desde el panel de objetos el constructor de Decision. Posteriormente arrastrar un elemento del tipo Page. El modelo debe quedar como se muestra a continuación:
Posteriormente se debe unir la arista False con la Page agregada al diagrama y editar las propiedades de esta Page (doble clic sobre la pagina) para ingresarle el nombre (Update Client) la KB (GXAjaxSample), y el objeto genexus (transacción, Client).
Luego de esto se debe agregar una arista que una la Page Work With Cities con el objeto Decision. Para esto se arrastra una Edge desde el panel de objetos y se unen los dos extremos a los nodos mencionados anteriormente. A dicha Edge se le debe agregar un evento del tipo DumyEvent para transitar desde la última Page a la Decision sin ejecutar ningun acción. El modelo debe quedar como se muestra en la siguiente imagen:
Luego se debe indicar la validación a realizar en la condición para eso se hace click con el botón derecho sobre la condición y se presiona AddCommand.
En este caso vamos agregar una validación del tipo AppearText pasandole por parámetro el texto abstracta. Luego que agregamos el comando damos doble clic sobre la decisión para indicarle un nombre. En este caso le pondremos 'Es Abstracta?' haciendo referencia a si el cliente involucrado es abstracta o no.
Bien, ahora queda indicar las acciones a tomar cuando el cliente es abstracta (arista True) y cuando no es Abstracta (arista False). En el caso de que el cliente es Abstracta, la arista debe tener los mismos comandos que tiene la arista ClickTable que va desde la página Work With Clients a View Client, ya que queremos que en caso de que efectivamente sea Abstracta entonces visualizar los datos del mismo. Para aprovechar los comandos que se generaron al grabar el caso de prueba podemos hacer drag&drop entre la arista ClickTable y la arista True de la Decision. Luego de esto simplemente borramos la arista ClickTable en cuestión y unimos la arista True con la página View Client.
Ahora solo falta modelar la arista False y queda listo el caso de prueba con condición. Para eso tenemos que agregar un comando en dicha arista que indique que se presione el botón update dentro de la grilla de clientes. Con este fin, hacemos clic con el botón derecho sobre la arista y ponemos Add Command. Esto nos desplegará una ventana para agregar el comando. Indicamos que es un comando del tipo Evento y luego seleccionamos el comando ClicTable.
Una vez que se haya realizado esto se deben llenar los distintos parámetros del comando.
En el parámetro Table indicar (mediante el prompt), la KB AjaXsample, el objeto WWClient y el control Grid1.
Para el parámetro Selection Rule indicar que el tipo de comparación de ByRow (es el que viene por defecto) y luego en el criterio ingresar un 1 en el campo Value.
Ahora solo falta indicar el último parámetro el cual es el nombre de la columna. Por ese motivo indicamos la KB AjaxSample, el objeto WWClient y el control Update.
El comando tiene que mostrarse entonces de la siguiente manera:
Bien, ha quedado finalizado el caso de prueba, ahora a probarlo! Para eso ponemos ejecutar 3 veces (Shift+F7) y miramos con atención. Par el cliente Abstracta va a visualizarlo mientras que para el cliente Artech y Artech ss va a entrar a la página de modificación