mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
Added e2e tests for member.edited
webhook (#15620)
refs: https://github.com/TryGhost/Ghost/issues/15537 - snapshot test created to add confidence to webhook stability and increase overall test coverage.
This commit is contained in:
parent
5b283930f0
commit
4ba254b339
2 changed files with 116 additions and 0 deletions
|
@ -130,3 +130,73 @@ Object {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`member.* events member.edited event is triggered 1: [headers] 1`] = `
|
||||||
|
Object {
|
||||||
|
"accept-encoding": "gzip, deflate",
|
||||||
|
"content-length": Any<Number>,
|
||||||
|
"content-type": "application/json",
|
||||||
|
"content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/,
|
||||||
|
"user-agent": StringMatching /Ghost\\\\/\\\\d\\+\\\\\\.\\\\d\\+\\\\\\.\\\\d\\+\\\\s\\\\\\(https:\\\\/\\\\/github\\.com\\\\/TryGhost\\\\/Ghost\\\\\\)/,
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`member.* events member.edited event is triggered 2: [body] 1`] = `
|
||||||
|
Object {
|
||||||
|
"member": Object {
|
||||||
|
"current": Object {
|
||||||
|
"avatar_image": null,
|
||||||
|
"comped": false,
|
||||||
|
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000Z/,
|
||||||
|
"email": "testemail3@example.com",
|
||||||
|
"email_count": 0,
|
||||||
|
"email_open_rate": null,
|
||||||
|
"email_opened_count": 0,
|
||||||
|
"geolocation": null,
|
||||||
|
"id": StringMatching /\\[a-f0-9\\]\\{24\\}/,
|
||||||
|
"labels": Array [],
|
||||||
|
"last_seen_at": null,
|
||||||
|
"name": "Ghost",
|
||||||
|
"newsletters": Array [
|
||||||
|
Object {
|
||||||
|
"body_font_category": "sans_serif",
|
||||||
|
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000Z/,
|
||||||
|
"description": null,
|
||||||
|
"feedback_enabled": false,
|
||||||
|
"footer_content": null,
|
||||||
|
"header_image": null,
|
||||||
|
"id": StringMatching /\\[a-f0-9\\]\\{24\\}/,
|
||||||
|
"name": "Default Newsletter",
|
||||||
|
"sender_email": null,
|
||||||
|
"sender_name": null,
|
||||||
|
"sender_reply_to": "newsletter",
|
||||||
|
"show_badge": true,
|
||||||
|
"show_feature_image": true,
|
||||||
|
"show_header_icon": true,
|
||||||
|
"show_header_name": true,
|
||||||
|
"show_header_title": true,
|
||||||
|
"slug": "default-newsletter",
|
||||||
|
"sort_order": 0,
|
||||||
|
"status": "active",
|
||||||
|
"subscribe_on_signup": true,
|
||||||
|
"title_alignment": "center",
|
||||||
|
"title_font_category": "sans_serif",
|
||||||
|
"updated_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000Z/,
|
||||||
|
"uuid": StringMatching /\\[a-f0-9\\]\\{8\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{12\\}/,
|
||||||
|
"visibility": "members",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"note": "test note3",
|
||||||
|
"status": "free",
|
||||||
|
"subscribed": true,
|
||||||
|
"subscriptions": Array [],
|
||||||
|
"updated_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000Z/,
|
||||||
|
"uuid": StringMatching /\\[a-f0-9\\]\\{8\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{4\\}-\\[a-f0-9\\]\\{12\\}/,
|
||||||
|
},
|
||||||
|
"previous": Object {
|
||||||
|
"name": "Test Member3",
|
||||||
|
"updated_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000Z/,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
|
@ -121,4 +121,50 @@ describe('member.* events', function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('member.edited event is triggered', async function () {
|
||||||
|
const webhookURL = 'https://test-webhook-receiver.com/member-edited/';
|
||||||
|
await webhookMockReceiver.mock(webhookURL);
|
||||||
|
await fixtureManager.insertWebhook({
|
||||||
|
event: 'member.edited',
|
||||||
|
url: webhookURL
|
||||||
|
});
|
||||||
|
|
||||||
|
const res = await adminAPIAgent
|
||||||
|
.post('members/')
|
||||||
|
.body({
|
||||||
|
members: [{
|
||||||
|
name: 'Test Member3',
|
||||||
|
email: 'testemail3@example.com',
|
||||||
|
note: 'test note3'
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
.expectStatus(201);
|
||||||
|
|
||||||
|
const id = res.body.members[0].id;
|
||||||
|
|
||||||
|
await adminAPIAgent
|
||||||
|
.put('members/' + id)
|
||||||
|
.body({
|
||||||
|
members: [{name: 'Ghost'}]
|
||||||
|
})
|
||||||
|
.expectStatus(200);
|
||||||
|
|
||||||
|
await webhookMockReceiver.receivedRequest();
|
||||||
|
|
||||||
|
webhookMockReceiver
|
||||||
|
.matchHeaderSnapshot({
|
||||||
|
'content-version': anyContentVersion,
|
||||||
|
'content-length': anyNumber,
|
||||||
|
'user-agent': anyGhostAgent
|
||||||
|
})
|
||||||
|
.matchBodySnapshot({
|
||||||
|
member: {
|
||||||
|
current: buildMemberSnapshot(),
|
||||||
|
previous: {
|
||||||
|
updated_at: anyISODateTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
Loading…
Add table
Reference in a new issue