forked from verdnatura/hedera-web
PendingOrdersView and OrdersView tests
This commit is contained in:
parent
ff423ae79b
commit
cfff9f7aeb
|
@ -91,6 +91,7 @@ async function confirm() {
|
||||||
@click="confirm()"
|
@click="confirm()"
|
||||||
unelevated
|
unelevated
|
||||||
autofocus
|
autofocus
|
||||||
|
data-testid="confirmDialogButton"
|
||||||
/>
|
/>
|
||||||
</QCardActions>
|
</QCardActions>
|
||||||
</QCard>
|
</QCard>
|
||||||
|
|
|
@ -73,6 +73,7 @@ const onConfirmPay = async () => {
|
||||||
@click="onPayClick()"
|
@click="onPayClick()"
|
||||||
rounded
|
rounded
|
||||||
no-caps
|
no-caps
|
||||||
|
data-testid="makePaymentButton"
|
||||||
>
|
>
|
||||||
<QTooltip>
|
<QTooltip>
|
||||||
{{ t('makePayment') }}
|
{{ t('makePayment') }}
|
||||||
|
@ -124,6 +125,7 @@ const onConfirmPay = async () => {
|
||||||
v-model="showAmountToPayDialog"
|
v-model="showAmountToPayDialog"
|
||||||
message=" "
|
message=" "
|
||||||
:promise="onConfirmPay"
|
:promise="onConfirmPay"
|
||||||
|
data-testid="payAmountDialog"
|
||||||
>
|
>
|
||||||
<template #customHTML>
|
<template #customHTML>
|
||||||
<VnInput
|
<VnInput
|
||||||
|
@ -133,6 +135,7 @@ const onConfirmPay = async () => {
|
||||||
type="number"
|
type="number"
|
||||||
min="0"
|
min="0"
|
||||||
:max="debt * -1"
|
:max="debt * -1"
|
||||||
|
data-testid="payAmountInput"
|
||||||
>
|
>
|
||||||
<template #append>€</template>
|
<template #append>€</template>
|
||||||
</VnInput>
|
</VnInput>
|
||||||
|
|
|
@ -116,6 +116,7 @@ onMounted(async () => {
|
||||||
() => removeOrder(order.id, index)
|
() => removeOrder(order.id, index)
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
data-testid="pendingOrderCardDelete"
|
||||||
>
|
>
|
||||||
<QTooltip>{{ t('deleteOrder') }}</QTooltip>
|
<QTooltip>{{ t('deleteOrder') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
|
@ -124,6 +125,7 @@ onMounted(async () => {
|
||||||
flat
|
flat
|
||||||
rounded
|
rounded
|
||||||
@click.stop.prevent="loadOrder(order.id)"
|
@click.stop.prevent="loadOrder(order.id)"
|
||||||
|
data-testid="addOrderToBasket"
|
||||||
>
|
>
|
||||||
<QTooltip>{{ t('loadOrderIntoCart') }}</QTooltip>
|
<QTooltip>{{ t('loadOrderIntoCart') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
|
|
|
@ -27,6 +27,6 @@ describe('UsersView', () => {
|
||||||
'contain',
|
'contain',
|
||||||
'New test nickname'
|
'New test nickname'
|
||||||
);
|
);
|
||||||
cy.clearDB();
|
cy.resetDB();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
describe('PendingOrders', () => {
|
||||||
|
before(() => {
|
||||||
|
// cy.resetDB();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.login('brucewayne');
|
||||||
|
cy.visit('/#/ecomerce/orders');
|
||||||
|
});
|
||||||
|
|
||||||
|
const makePayment = typeAmount => {
|
||||||
|
cy.dataCy('makePaymentButton').should('exist');
|
||||||
|
cy.dataCy('makePaymentButton').click();
|
||||||
|
cy.dataCy('payAmountDialog').should('exist');
|
||||||
|
cy.get('input[data-testid="payAmountInput"]').should('exist');
|
||||||
|
cy.get('input[data-testid="payAmountInput"]').clear();
|
||||||
|
if (typeAmount || typeAmount === 0)
|
||||||
|
cy.get('input[data-testid="payAmountInput"]').type(typeAmount);
|
||||||
|
cy.dataCy('confirmDialogButton').should('exist');
|
||||||
|
cy.dataCy('confirmDialogButton').click();
|
||||||
|
};
|
||||||
|
|
||||||
|
// it('when confirm payment redirects to payment site', () => {
|
||||||
|
// makePayment('100');
|
||||||
|
// TODO: Ver como hacer para verificar redirección a sitio externo
|
||||||
|
// });
|
||||||
|
|
||||||
|
it('fails payment if pay amount is 0', () => {
|
||||||
|
cy.visit('/#/ecomerce/orders');
|
||||||
|
makePayment(0);
|
||||||
|
cy.dataCy('negativeNotify').should(
|
||||||
|
'contain',
|
||||||
|
'La cantidad debe ser un número positivo e inferior o igual al importe pendiente'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,59 @@
|
||||||
|
describe('PendingOrders', () => {
|
||||||
|
before(() => {
|
||||||
|
// Esto se ejecuta una vez antes de todas las pruebas
|
||||||
|
cy.resetDB();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.login('developer');
|
||||||
|
});
|
||||||
|
|
||||||
|
const checkEmptyList = () => {
|
||||||
|
cy.dataCy('pendingOrdersList').should('exist');
|
||||||
|
cy.dataCy('pendingOrdersList').should('contain', 'Lista vacía');
|
||||||
|
cy.dataCy('pendingOrderCard').should('not.exist');
|
||||||
|
};
|
||||||
|
|
||||||
|
const checkExistingOrder = () => {
|
||||||
|
cy.dataCy('pendingOrdersList').should('exist');
|
||||||
|
cy.dataCy('pendingOrdersList').should('not.contain', 'Lista vacía');
|
||||||
|
cy.dataCy('pendingOrderCard').should('exist');
|
||||||
|
};
|
||||||
|
|
||||||
|
it('shows empty state', () => {
|
||||||
|
// Cuando la db se reinicia el usuario developer no tiene ordenes pendientes
|
||||||
|
cy.visit('/#/ecomerce/pending');
|
||||||
|
checkEmptyList();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('creates a new order', () => {
|
||||||
|
cy.createOrderReceiveFlow();
|
||||||
|
cy.visit('/#/ecomerce/pending');
|
||||||
|
checkExistingOrder();
|
||||||
|
cy.dataCy('pendingOrderCard').should('have.length', 1);
|
||||||
|
cy.resetDB();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('deletes an order', () => {
|
||||||
|
cy.createOrderReceiveFlow();
|
||||||
|
cy.visit('/#/ecomerce/pending');
|
||||||
|
checkExistingOrder();
|
||||||
|
cy.dataCy('pendingOrderCard').should('have.length', 1);
|
||||||
|
cy.dataCy('pendingOrderCardDelete').click();
|
||||||
|
cy.dataCy('confirmDialogButton').should('exist');
|
||||||
|
cy.dataCy('confirmDialogButton').click();
|
||||||
|
cy.dataCy('positiveNotify').should('contain', 'Datos guardados');
|
||||||
|
checkEmptyList();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('adds order to basket', () => {
|
||||||
|
cy.createOrderReceiveFlow();
|
||||||
|
cy.visit('/#/ecomerce/pending');
|
||||||
|
cy.dataCy('addOrderToBasket').should('exist');
|
||||||
|
cy.dataCy('addOrderToBasket').click();
|
||||||
|
cy.dataCy('positiveNotify').should(
|
||||||
|
'contain',
|
||||||
|
'¡Pedido cargado en la cesta!'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
|
@ -79,6 +79,6 @@ Cypress.Commands.add('setSessionStorage', (key, value) => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('clearDB', () => {
|
Cypress.Commands.add('resetDB', () => {
|
||||||
cy.exec('npm run resetDatabase');
|
cy.exec('npm run resetDatabase');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue