mirror of
https://github.com/knadh/listmonk.git
synced 2025-01-07 23:12:04 +08:00
77 lines
2.3 KiB
JavaScript
77 lines
2.3 KiB
JavaScript
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');
|
|
});
|
|
|
|
});
|