1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const apiUrl = Cypress.env('apiUrl');
- describe('Bounces', () => {
- let subs = [];
- it('Enable bounces', () => {
- cy.resetDB();
- cy.loginAndVisit('/settings');
- cy.get('.b-tabs nav a').eq(5).click();
- cy.get('[data-cy=btn-enable-bounce] .switch').click();
- cy.get('[data-cy=btn-enable-bounce-webhook] .switch').click();
- cy.get('[data-cy=btn-bounce-count] .plus').click();
- cy.get('[data-cy=btn-save]').click();
- cy.wait(1000);
- });
- it('Post bounces', () => {
- // Get campaign.
- let camp = {};
- cy.request(`${apiUrl}/api/campaigns`).then((resp) => {
- camp = resp.body.data.results[0];
- })
- cy.then(() => {
- console.log("campaign is ", camp.uuid);
- })
- // Get subscribers.
- cy.request(`${apiUrl}/api/subscribers`).then((resp) => {
- subs = resp.body.data.results;
- console.log(subs)
- });
- cy.then(() => {
- console.log(`got ${subs.length} subscribers`);
- // Post bounces. Blocklist the 1st sub.
- cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: "api", type: "hard", email: subs[0].email });
- cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: "api", type: "hard", campaign_uuid: camp.uuid, email: subs[0].email });
- cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: "api", type: "hard", campaign_uuid: camp.uuid, subscriber_uuid: subs[0].uuid });
- for (let i = 0; i < 2; i++) {
- cy.request('POST', `${apiUrl}/webhooks/bounce`, { source: "api", type: "soft", campaign_uuid: camp.uuid, subscriber_uuid: subs[1].uuid });
- }
- });
- cy.wait(250);
- });
- it('Opens bounces page', () => {
- cy.loginAndVisit('/subscribers/bounces');
- cy.wait(250);
- cy.get('tbody tr').its('length').should('eq', 5);
- });
- it('Delete bounce', () => {
- cy.get('tbody tr:last-child [data-cy="btn-delete"]').click();
- cy.get('.modal button.is-primary').click();
- cy.wait(250);
- cy.get('tbody tr').its('length').should('eq', 4);
- });
- it('Check subscriber statuses', () => {
- cy.loginAndVisit(`/subscribers/${subs[0].id}`);
- cy.wait(250);
- cy.get('.modal-card-head .tag').should('have.class', 'blocklisted');
- cy.get('.modal-card-foot button[type="button"]').click();
- cy.loginAndVisit(`/subscribers/${subs[1].id}`);
- cy.wait(250);
- cy.get('.modal-card-head .tag').should('have.class', 'enabled');
- });
- });
|