This commit is contained in:
parent
b749cb80df
commit
291578d86a
|
@ -14,9 +14,10 @@ module.exports = function createNightmare(width = 1280, height = 720) {
|
||||||
}).viewport(width, height);
|
}).viewport(width, height);
|
||||||
|
|
||||||
nightmare.on('console', (type, message, ...args) => {
|
nightmare.on('console', (type, message, ...args) => {
|
||||||
if (type === 'error')
|
if (type === 'error') {
|
||||||
|
console[type](message, ...args);
|
||||||
throw new Error(message);
|
throw new Error(message);
|
||||||
else
|
} else
|
||||||
console[type](message, ...args);
|
console[type](message, ...args);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -399,6 +399,8 @@ export default {
|
||||||
moreMenuUnmarkReseved: 'vn-ticket-sale vn-tool-bar > vn-button-menu[vn-id="more-button"] vn-drop-down > vn-popover ul > li[name="Unmark as reserved"]',
|
moreMenuUnmarkReseved: 'vn-ticket-sale vn-tool-bar > vn-button-menu[vn-id="more-button"] vn-drop-down > vn-popover ul > li[name="Unmark as reserved"]',
|
||||||
moreMenuUpdateDiscount: 'vn-ticket-sale vn-tool-bar > vn-button-menu[vn-id="more-button"] vn-drop-down > vn-popover ul > li[name="Update discount"]',
|
moreMenuUpdateDiscount: 'vn-ticket-sale vn-tool-bar > vn-button-menu[vn-id="more-button"] vn-drop-down > vn-popover ul > li[name="Update discount"]',
|
||||||
moreMenuUpdateDiscountInput: 'vn-ticket-sale vn-dialog form vn-ticket-sale-edit-discount vn-input-number[model="$ctrl.newDiscount"] input',
|
moreMenuUpdateDiscountInput: 'vn-ticket-sale vn-dialog form vn-ticket-sale-edit-discount vn-input-number[model="$ctrl.newDiscount"] input',
|
||||||
|
transferQuantityInput: 'vn-ticket-sale vn-popover.transfer.ng-isolate-scope.vn-popover.shown vn-table > div > vn-tbody > vn-tr > vn-td-editable > span > text',
|
||||||
|
transferQuantityCell: 'vn-ticket-sale vn-popover.transfer.ng-isolate-scope.vn-popover.shown vn-table > div > vn-tbody > vn-tr > vn-td-editable',
|
||||||
firstSaleClaimIcon: 'vn-ticket-sale vn-table vn-tbody > vn-tr:nth-child(1) vn-icon[icon="icon-claims"]',
|
firstSaleClaimIcon: 'vn-ticket-sale vn-table vn-tbody > vn-tr:nth-child(1) vn-icon[icon="icon-claims"]',
|
||||||
firstSaleDescriptorImage: 'vn-ticket-sale vn-item-descriptor-popover > vn-popover vn-item-descriptor img',
|
firstSaleDescriptorImage: 'vn-ticket-sale vn-item-descriptor-popover > vn-popover vn-item-descriptor img',
|
||||||
firstSaleText: 'vn-table div > vn-tbody > vn-tr:nth-child(1)',
|
firstSaleText: 'vn-table div > vn-tbody > vn-tr:nth-child(1)',
|
||||||
|
@ -422,6 +424,8 @@ export default {
|
||||||
secondSaleDiscount: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(8)',
|
secondSaleDiscount: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(8)',
|
||||||
secondSaleImport: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(9)',
|
secondSaleImport: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(9)',
|
||||||
secondSaleText: 'vn-table div > vn-tbody > vn-tr:nth-child(2)',
|
secondSaleText: 'vn-table div > vn-tbody > vn-tr:nth-child(2)',
|
||||||
|
secondSaleQuantity: 'vn-input-number[model="sale.quantity"]:nth-child(2) input',
|
||||||
|
secondSaleQuantityCell: 'vn-ticket-sale vn-tr:nth-child(2) > vn-td-editable:nth-child(5)',
|
||||||
totalImport: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > vn-horizontal > vn-one > p:nth-child(3) > strong',
|
totalImport: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > vn-horizontal > vn-one > p:nth-child(3) > strong',
|
||||||
selectAllSalesCheckbox: 'vn-ticket-sale vn-thead vn-check md-checkbox',
|
selectAllSalesCheckbox: 'vn-ticket-sale vn-thead vn-check md-checkbox',
|
||||||
secondSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(2) vn-check[field="sale.checked"] md-checkbox',
|
secondSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(2) vn-check[field="sale.checked"] md-checkbox',
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import selectors from '../../helpers/selectors.js';
|
import selectors from '../../helpers/selectors.js';
|
||||||
import createNightmare from '../../helpers/nightmare';
|
import createNightmare from '../../helpers/nightmare';
|
||||||
|
|
||||||
describe('Ticket Edit sale path', () => {
|
// #1632 [e2e] ticket.sale - Transferir líneas
|
||||||
|
xdescribe('Ticket Edit sale path', () => {
|
||||||
const nightmare = createNightmare();
|
const nightmare = createNightmare();
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
|
@ -257,12 +258,14 @@ describe('Ticket Edit sale path', () => {
|
||||||
expect(result).toEqual(3);
|
expect(result).toEqual(3);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should select the third sale and transfer it to a valid ticket', async() => {
|
it('should select the second sale and transfer it to a valid ticket', async() => {
|
||||||
const targetTicketId = 12;
|
const targetTicketId = 12;
|
||||||
|
|
||||||
const result = await nightmare
|
const result = await nightmare
|
||||||
.waitToClick(selectors.ticketSales.thirdSaleCheckbox)
|
.waitToClick(selectors.ticketSales.secondSaleCheckbox)
|
||||||
.waitToClick(selectors.ticketSales.transferSaleButton)
|
.waitToClick(selectors.ticketSales.transferSaleButton)
|
||||||
|
.focusElement(selectors.ticketSales.transferQuantityCell)
|
||||||
|
.write(selectors.ticketSales.transferQuantityInput, '10\u000d')
|
||||||
.write(selectors.ticketSales.moveToTicketInput, targetTicketId)
|
.write(selectors.ticketSales.moveToTicketInput, targetTicketId)
|
||||||
.waitToClick(selectors.ticketSales.moveToTicketButton)
|
.waitToClick(selectors.ticketSales.moveToTicketButton)
|
||||||
.waitForURL(`ticket/${targetTicketId}/sale`)
|
.waitForURL(`ticket/${targetTicketId}/sale`)
|
||||||
|
@ -276,7 +279,14 @@ describe('Ticket Edit sale path', () => {
|
||||||
.wait(selectors.ticketSales.secondSaleText)
|
.wait(selectors.ticketSales.secondSaleText)
|
||||||
.waitToGetProperty(selectors.ticketSales.secondSaleText, 'innerText');
|
.waitToGetProperty(selectors.ticketSales.secondSaleText, 'innerText');
|
||||||
|
|
||||||
expect(result).toContain(`Ranged weapon longbow 2m`);
|
expect(result).toContain(`Melee weapon heavy shield`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should confirm the transfered quantity is the correct one', async() => {
|
||||||
|
const result = await nightmare
|
||||||
|
.waitToGetProperty(selectors.ticketSales.secondSaleQuantityCell, 'innerText');
|
||||||
|
|
||||||
|
expect(result).toContain('10');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should go back to the original ticket sales section', async() => {
|
it('should go back to the original ticket sales section', async() => {
|
||||||
|
@ -290,12 +300,19 @@ describe('Ticket Edit sale path', () => {
|
||||||
expect(url.hash).toContain('/sale');
|
expect(url.hash).toContain('/sale');
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`should confirm the original ticket has only two lines now`, async() => {
|
it(`should confirm the original ticket has still three lines`, async() => {
|
||||||
const result = await nightmare
|
const result = await nightmare
|
||||||
.wait(selectors.ticketSales.saleLine)
|
.wait(selectors.ticketSales.saleLine)
|
||||||
.countElement(selectors.ticketSales.saleLine);
|
.countElement(selectors.ticketSales.saleLine);
|
||||||
|
|
||||||
expect(result).toEqual(2);
|
expect(result).toEqual(3);
|
||||||
|
});
|
||||||
|
|
||||||
|
it(`should confirm the second sale quantity is now half of it's original value after the transfer`, async() => {
|
||||||
|
const result = await nightmare
|
||||||
|
.waitToGetProperty(selectors.ticketSales.secondSaleQuantityCell, 'innerText');
|
||||||
|
|
||||||
|
expect(result).toContain('10');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should go back to the receiver ticket sales section', async() => {
|
it('should go back to the receiver ticket sales section', async() => {
|
||||||
|
@ -324,11 +341,12 @@ describe('Ticket Edit sale path', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should confirm the original ticket received the line', async() => {
|
it('should confirm the original ticket received the line', async() => {
|
||||||
|
const expectedLines = 4;
|
||||||
const result = await nightmare
|
const result = await nightmare
|
||||||
.waitForNumberOfElements(selectors.ticketSales.saleLine, 3)
|
.waitForNumberOfElements(selectors.ticketSales.saleLine, expectedLines)
|
||||||
.countElement(selectors.ticketSales.saleLine);
|
.countElement(selectors.ticketSales.saleLine);
|
||||||
|
|
||||||
expect(result).toEqual(3);
|
expect(result).toEqual(expectedLines);
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`should throw an error when attempting to create a ticket for an inactive client`, async() => {
|
it(`should throw an error when attempting to create a ticket for an inactive client`, async() => {
|
||||||
|
@ -357,7 +375,7 @@ describe('Ticket Edit sale path', () => {
|
||||||
const senderTicketId = 13;
|
const senderTicketId = 13;
|
||||||
|
|
||||||
const url = await nightmare
|
const url = await nightmare
|
||||||
.waitToClick(selectors.ticketSales.firstSaleCheckbox)
|
.waitToClick(selectors.ticketSales.selectAllSalesCheckbox)
|
||||||
.waitToClick(selectors.ticketSales.transferSaleButton)
|
.waitToClick(selectors.ticketSales.transferSaleButton)
|
||||||
.waitToClick(selectors.ticketSales.moveToNewTicketButton)
|
.waitToClick(selectors.ticketSales.moveToNewTicketButton)
|
||||||
.waitToClick(selectors.ticketSales.acceptDeleteTicketButton)
|
.waitToClick(selectors.ticketSales.acceptDeleteTicketButton)
|
||||||
|
|
Loading…
Reference in New Issue