WIP: #7356 ticket_missing_e2e #1027
|
@ -0,0 +1,18 @@
|
|||
describe.skip('Ticket List sale path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should confirm the first ticket sale contains the colour tag', async () => {});
|
||||
it('should confirm the first sale contains the price', async () => {});
|
||||
it('should confirm the first sale contains the discount', async () => {});
|
||||
it('should confirm the first sale contains the total import', async () => {});
|
||||
it('should add an empty item to the sale list', async () => {});
|
||||
it('should select a valid item to be added as the second item in the sales list', async () => {});
|
||||
it('should update the description of the new sale', async () => {});
|
||||
it('should add a third empty item to the sale list', async () => {});
|
||||
it('should select the 2nd and 3th item and delete both', async () => {});
|
||||
it(`should verify there's only 1 single line remaining`, async () => {});
|
||||
});
|
|
@ -0,0 +1,11 @@
|
|||
describe.skip('Ticket Create notes path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should create a new note', async () => {});
|
||||
it('should confirm the note is the expected one', async () => {});
|
||||
it('should delete the note', async () => {});
|
||||
});
|
|
@ -0,0 +1,57 @@
|
|||
describe.skip('Ticket Edit sale path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it(`should click on the first sale claim icon to navigate over there`, async () => {});
|
||||
it('should navigate to the tickets index', async () => {});
|
||||
it(`should search for a ticket and then navigate to it's sales`, async () => {});
|
||||
it(`should set the ticket as libre`, async () => {});
|
||||
it(`should check it's state is libre now`, async () => {});
|
||||
it(`should set the ticket as OK`, async () => {});
|
||||
it(`should check it's state is OK now`, async () => {});
|
||||
it(`should check the zoomed image isn't present`, async () => {});
|
||||
it(`should click on the thumbnail image of the 1st sale and see the zoomed image`, async () => {});
|
||||
it(`should click on the zoomed image to close it`, async () => {});
|
||||
it(`should click on the first sale ID making now the item descriptor visible`, async () => {});
|
||||
it(`should click on the descriptor image of the 1st sale and see the zoomed image`, async () => {});
|
||||
it(`should now click on the zoomed image to close it`, async () => {});
|
||||
it(`should click on the summary icon of the item-descriptor to access to the item summary`, async () => {});
|
||||
it('should return to ticket sales section', async () => {});
|
||||
it('should remove 1 from the first sale quantity', async () => {});
|
||||
it('should update the price', async () => {});
|
||||
it('should confirm the price have been updated', async () => {});
|
||||
it('should confirm the total price for that item have been updated', async () => {});
|
||||
it('should update the discount', async () => {});
|
||||
it('should confirm the discount have been updated', async () => {});
|
||||
it('should confirm the total import for that item have been updated', async () => {});
|
||||
it('should recalculate price of sales', async () => {});
|
||||
it('should log in as salesAssistant and navigate to ticket sales', async () => {});
|
||||
it('should select the first sale and create a refund with warehouse', async () => {});
|
||||
it('should select the first sale and create a refund without warehouse', async () => {});
|
||||
it('should show error trying to delete a ticket with a refund', async () => {});
|
||||
it('should select the third sale and create a claim of it', async () => {});
|
||||
it('should search for a ticket then access to the sales section', async () => {});
|
||||
it('should select the third sale and delete it', async () => {});
|
||||
it(`should confirm the third sale was deleted`, async () => {});
|
||||
it('should select the second sale and transfer it to a valid ticket', async () => {});
|
||||
it('should confirm the transfered line is the correct one', async () => {});
|
||||
it('should confirm the transfered quantity is the correct one', async () => {});
|
||||
it('should go back to the original ticket sales section', async () => {});
|
||||
it(`should confirm the original ticket has still three lines`, async () => {});
|
||||
it(`should confirm the second sale quantity is now half of it's original value after the transfer`, async () => {});
|
||||
it('should go back to the receiver ticket sales section', async () => {});
|
||||
it('should transfer the sale back to the original ticket', async () => {});
|
||||
it('should confirm the original ticket received the line', async () => {});
|
||||
it(`should throw an error when attempting to create a ticket for an inactive client`, async () => {});
|
||||
it('should go now to the ticket sales section of an active, not frozen client', async () => {});
|
||||
it(`should select all sales, tranfer them to a new ticket and delete the sender ticket as it would've been left empty`, async () => {});
|
||||
it('should confirm the new ticket received the line', async () => {});
|
||||
it('should check the first sale reserved icon isnt visible', async () => {});
|
||||
it('should mark the first sale as reserved', async () => {});
|
||||
it('should unmark the first sale as reserved', async () => {});
|
||||
it('should log in as Production role and go to a target ticket summary', async () => {});
|
||||
it(`should check the ticket is deleted`, async () => {});
|
||||
});
|
|
@ -0,0 +1,9 @@
|
|||
describe.skip('Ticket expeditions and log path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it(`should delete a former expedition and confirm the remaining expedition are the expected ones`, async () => {});
|
||||
});
|
|
@ -0,0 +1,14 @@
|
|||
describe.skip('Ticket Create packages path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it(`should attempt create a new package but receive an error if package is blank`, async () => {});
|
||||
it(`should delete the first package and receive and error to save a new one with blank quantity`, async () => {});
|
||||
it(`should confirm the quantity input isn't invalid yet`, async () => {});
|
||||
it(`should create a new package with correct data`, async () => {});
|
||||
it(`should confirm the first select is the expected one`, async () => {});
|
||||
it(`should confirm quantity is just a number and the string part was ignored by the imput number`, async () => {});
|
||||
});
|
|
@ -0,0 +1,26 @@
|
|||
describe.skip('Ticket Create new tracking state path', () => {
|
||||
describe('as production', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should log into the ticket 1 tracking', async () => {});
|
||||
it('should access to the create state view by clicking the create floating button', async () => {});
|
||||
it(`should create a new state`, async () => {});
|
||||
});
|
||||
describe('as salesPerson', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should now log into the ticket 1 tracking', async () => {});
|
||||
it('should now access to the create state view by clicking the create floating button', async () => {});
|
||||
it(`should attemp to create an state for which salesPerson doesn't have permissions`, async () => {});
|
||||
it(`should make sure the worker gets autocomplete uppon selecting the assigned state`, async () => {});
|
||||
it(`should succesfully create a valid state`, async () => {});
|
||||
});
|
||||
});
|
|
@ -0,0 +1,21 @@
|
|||
describe.skip('Ticket Edit basic data path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it(`should confirm the zone autocomplete is disabled unless your role is productionBoss`, async () => {});
|
||||
it(`should now log as productionBoss to perform the rest of the tests`, async () => {});
|
||||
it(`should confirm the zone autocomplete is enabled for the role productionBoss`, async () => {});
|
||||
it(`should check the zone is for Gotham247`, async () => {});
|
||||
it(`should edit the ticket agency then check there are no zones for it`, async () => {});
|
||||
it(`should edit the ticket zone then check the agency is for the new zone`, async () => {});
|
||||
it(`should click next`, async () => {});
|
||||
it(`should have a price diference`, async () => {});
|
||||
it(`should select a new reason for the changes made then click on finalize`, async () => {});
|
||||
it(`should not find ticket`, async () => {});
|
||||
it(`should split ticket without negatives`, async () => {});
|
||||
it(`should new ticket have sale of old ticket`, async () => {});
|
||||
it(`should old ticket have old date and agency`, async () => {});
|
||||
});
|
|
@ -0,0 +1,9 @@
|
|||
describe.skip('Ticket List components path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should confirm the total base is correct', async () => {});
|
||||
});
|
|
@ -0,0 +1,22 @@
|
|||
describe.skip('Ticket descriptor path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should count the amount of tickets in the turns section', async () => {});
|
||||
it('should go back to the ticket index then search and access a ticket summary', async () => {});
|
||||
it('should add the ticket to thursday turn using the descriptor more menu', async () => {});
|
||||
it('should again click on the Tickets button of the top bar menu', async () => {});
|
||||
it('should confirm the ticket 33 was added to thursday', async () => {});
|
||||
it('should click on the Tickets button of the top bar menu once more', async () => {});
|
||||
it('should now search for the ticket 33', async () => {});
|
||||
it('should add the ticket to saturday turn using the descriptor more menu', async () => {});
|
||||
it('should click on the Tickets button of the top bar menu once again', async () => {});
|
||||
it('should confirm the ticket 33 was added on saturday', async () => {});
|
||||
it('should now search for the weekly ticket 33', async () => {});
|
||||
it('should delete the weekly ticket 33', async () => {});
|
||||
it('should confirm the sixth weekly ticket was deleted', async () => {});
|
||||
it('should update the agency then remove it afterwards', async () => {});
|
||||
});
|
|
@ -0,0 +1,16 @@
|
|||
describe.skip('Ticket purchase request path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should add a new request', async () => {});
|
||||
it('should have been redirected to the request index', async () => {});
|
||||
it(`should edit the third request quantity as it's state is still new`, async () => {});
|
||||
it('should check the new request was added', async () => {});
|
||||
it(`should check the first request can't be edited as its state is different to new`, async () => {});
|
||||
it(`should check the second request can't be edited as its state is different to new`, async () => {});
|
||||
it('should delete the added request', async () => {});
|
||||
it('should check the request was deleted', async () => {});
|
||||
});
|
|
@ -0,0 +1,48 @@
|
|||
describe.skip('Ticket descriptor path', () => {
|
||||
describe('Delete ticket', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should search for an specific ticket', async () => {});
|
||||
it(`should update the shipped hour using the descriptor menu`, async () => {});
|
||||
it(`should confirm the ticket descriptor shows the correct shipping hour`, async () => {});
|
||||
it('should delete the ticket using the descriptor menu', async () => {});
|
||||
it('should have been relocated to the ticket index', async () => {});
|
||||
it(`should search for the deleted ticket and check the deletedTicket icon and it's date`, async () => {});
|
||||
});
|
||||
describe('Restore ticket', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should restore the ticket using the descriptor menu', async () => {});
|
||||
});
|
||||
describe('Make invoice', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should login as administrative role then search for a ticket', async () => {});
|
||||
it(`should make sure the ticket doesn't have an invoiceOutFk yet`, async () => {});
|
||||
it('should invoice the ticket using the descriptor menu', async () => {});
|
||||
it(`should make sure the ticket summary have an invoiceOutFk`, async () => {});
|
||||
it(`should regenerate the invoice using the descriptor menu`, async () => {});
|
||||
});
|
||||
describe('SMS', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should send the payment SMS using the descriptor menu', async () => {});
|
||||
it('should send the import SMS using the descriptor menu', async () => {});
|
||||
});
|
||||
});
|
|
@ -0,0 +1,32 @@
|
|||
describe.skip('Ticket services path', () => {
|
||||
describe('as employee', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should log in as employee, search for an invoice and get to services', async () => {});
|
||||
it('should find the add descripton button disabled for this user role', async () => {});
|
||||
it('should receive an error if you attempt to save a service without access rights', async () => {});
|
||||
});
|
||||
describe('as administrative', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should navigate to the services of a target ticket', async () => {});
|
||||
it('should click on the add button to prepare the form to create a new service', async () => {});
|
||||
it('should receive an error if you attempt to save it with empty fields', async () => {});
|
||||
it('should click on the add new service type to open the dialog', async () => {});
|
||||
it('should receive an error if service type is empty on submit', async () => {});
|
||||
it('should create a new service type then add price then create the service', async () => {});
|
||||
it('should confirm the service description was created correctly', async () => {});
|
||||
it('should confirm the service quantity was created correctly', async () => {});
|
||||
it('should confirm the service price was created correctly', async () => {});
|
||||
it('should delete the service', async () => {});
|
||||
it(`should confirm the service was removed`, async () => {});
|
||||
});
|
||||
});
|
|
@ -0,0 +1,15 @@
|
|||
describe.skip('Ticket create path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should open the new ticket form', async () => {});
|
||||
it('should succeed to create a ticket', async () => {});
|
||||
it('should check the url is now the summary of the ticket', async () => {});
|
||||
it('should again open the new ticket form', async () => {});
|
||||
it('should succeed to create another ticket for the same client', async () => {});
|
||||
it('should check the url is now the summary of the created ticket', async () => {});
|
||||
it('should delete the current ticket', async () => {});
|
||||
});
|
|
@ -0,0 +1,9 @@
|
|||
describe.skip('Ticket create from client path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should create simple ticket and check if the client details are the expected ones', async () => {});
|
||||
});
|
|
@ -0,0 +1,19 @@
|
|||
describe.skip('Ticket Summary path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should navigate to the target ticket summary section', async () => {});
|
||||
it(`should display details from the ticket and it's client on the top of the header`, async () => {});
|
||||
it('should display ticket details', async () => {});
|
||||
it('should display delivery details', async () => {});
|
||||
it('should display the ticket total', async () => {});
|
||||
it('should display the ticket line(s)', async () => {});
|
||||
it(`should click on the first sale ID to make the item descriptor visible`, async () => {});
|
||||
it(`should check the url for the item diary link of the descriptor is for the right item id`, async () => {});
|
||||
it('should log in as production then navigate to the summary of the same ticket', async () => {});
|
||||
it('should set the ticket state to OK using the top right button', async () => {});
|
||||
it('should confirm the ticket state was updated', async () => {});
|
||||
});
|
|
@ -0,0 +1,10 @@
|
|||
describe.skip('Ticket log path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should navigate to the target ticket notes section', async () => {});
|
||||
it('should create a new note for the test', async () => {});
|
||||
});
|
|
@ -0,0 +1,11 @@
|
|||
describe.skip('Ticket index payout path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should check the second ticket from a client and 1 of another', async () => {});
|
||||
it('should search for tickets of the same client then open the payout form', async () => {});
|
||||
it('should fill the company and bank to perform a payout and check a new balance line was entered', async () => {});
|
||||
});
|
|
@ -0,0 +1,12 @@
|
|||
describe.skip('Ticket DMS path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should import a document', async () => {});
|
||||
it(`should check there's a listed document now`, async () => {});
|
||||
it('should attempt to import an existing document on this ticket', async () => {});
|
||||
it(`should check there's still one document`, async () => {});
|
||||
});
|
|
@ -0,0 +1,10 @@
|
|||
describe.skip('Ticket expeditions', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it(`should move one expedition to new ticket withoute route`, async () => {});
|
||||
it(`should move one expedition to new ticket with route`, async () => {});
|
||||
});
|
|
@ -0,0 +1,9 @@
|
|||
describe.skip('Ticket Future path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should search with required data, check three last tickets and move to the future', async () => {});
|
||||
});
|
|
@ -0,0 +1,9 @@
|
|||
describe.skip('Ticket Advance path', () => {
|
||||
beforeEach(() => {
|
||||
const ticketId = 1;
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/ticket/${ticketId}/boxing`);
|
||||
});
|
||||
it('should search with the required data, check the first ticket and move to the present', async () => {});
|
||||
});
|
Loading…
Reference in New Issue