mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
Fixed validation for Members API newsletters endpoint
refs https://github.com/TryGhost/Toolbox/issues/465
refs 31546a6fd3/packages/admin-api-schema/lib/schemas/members.json (L93-L103)
- Updated Members API newsletter validation to match the subset of Admin API's members validation schema.
This commit is contained in:
parent
81566aca88
commit
6989d08b19
2 changed files with 20 additions and 0 deletions
|
@ -187,6 +187,8 @@ describe('Front-end members behavior', function () {
|
|||
getJsonResponse.newsletters.should.have.length(1);
|
||||
|
||||
// Can update newsletter subscription
|
||||
const originalNewsletters = getJsonResponse.newsletters;
|
||||
|
||||
const res = await request.put(`/members/api/member/newsletters?uuid=${memberUUID}`)
|
||||
.send({
|
||||
newsletters: []
|
||||
|
@ -198,6 +200,18 @@ describe('Front-end members behavior', function () {
|
|||
jsonResponse.should.have.properties(['email', 'uuid', 'status', 'name', 'newsletters']);
|
||||
jsonResponse.should.not.have.property('id');
|
||||
jsonResponse.newsletters.should.have.length(0);
|
||||
|
||||
const resRestored = await request.put(`/members/api/member/newsletters?uuid=${memberUUID}`)
|
||||
.send({
|
||||
newsletters: originalNewsletters
|
||||
})
|
||||
.expect(200);
|
||||
|
||||
const restoreJsonResponse = resRestored.body;
|
||||
should.exist(restoreJsonResponse);
|
||||
restoreJsonResponse.should.have.properties(['email', 'uuid', 'status', 'name', 'newsletters']);
|
||||
restoreJsonResponse.should.not.have.property('id');
|
||||
restoreJsonResponse.newsletters.should.have.length(1);
|
||||
});
|
||||
|
||||
it('should serve theme 404 on members endpoint', async function () {
|
||||
|
|
|
@ -405,6 +405,12 @@ module.exports = class MemberRepository {
|
|||
'expertise'
|
||||
]);
|
||||
|
||||
if (data.newsletters) {
|
||||
data.newsletters = data.newsletters.map(newsletter => ({
|
||||
id: newsletter.id
|
||||
}));
|
||||
}
|
||||
|
||||
// Trim whitespaces from expertise
|
||||
if (memberData.expertise) {
|
||||
memberData.expertise = memberData.expertise.trim();
|
||||
|
|
Loading…
Add table
Reference in a new issue