mirror of
https://github.com/strapi/strapi.git
synced 2025-08-31 12:23:05 +00:00
Fixes to mongoose groups
This commit is contained in:
parent
1792338cbd
commit
34a5424a8a
@ -347,10 +347,10 @@ const createOnFetchPopulateFn = ({
|
||||
) {
|
||||
this._mongooseOptions.populate[name].path = `${name}.ref`;
|
||||
} else {
|
||||
this._mongooseOptions.populate[name] = {
|
||||
_.set(this._mongooseOptions, ['populate', name], {
|
||||
path: `${name}.ref`,
|
||||
_docs: {},
|
||||
};
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -267,9 +267,10 @@ module.exports = ({ model, modelKey, strapi }) => {
|
||||
const relations = pickRelations(values);
|
||||
const data = omitExernalValues(values);
|
||||
|
||||
// update groups first in case it fails don't update the entity
|
||||
await updateGroups(entry, values);
|
||||
// Update entry with no-relational data.
|
||||
await entry.updateOne(data);
|
||||
await updateGroups(entry, values);
|
||||
|
||||
// Update relational data and return the entry.
|
||||
return model.updateRelations(Object.assign(params, { values: relations }));
|
||||
|
@ -227,7 +227,10 @@ describe.each([
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -307,12 +310,18 @@ describe.each([
|
||||
});
|
||||
|
||||
expect(updateRes.statusCode).toBe(200);
|
||||
expect(updateRes.body).toEqual(res.body);
|
||||
expect(updateRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
});
|
||||
|
||||
test('Throws when not enough items', async () => {
|
||||
|
@ -197,7 +197,10 @@ describe.each([
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -277,12 +280,18 @@ describe.each([
|
||||
});
|
||||
|
||||
expect(updateRes.statusCode).toBe(200);
|
||||
expect(updateRes.body).toEqual(res.body);
|
||||
expect(updateRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
});
|
||||
|
||||
test('Removes previous groups if empty array sent', async () => {
|
||||
|
@ -196,7 +196,10 @@ describe.each([
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -276,12 +279,18 @@ describe.each([
|
||||
});
|
||||
|
||||
expect(updateRes.statusCode).toBe(200);
|
||||
expect(updateRes.body).toEqual(res.body);
|
||||
expect(updateRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
});
|
||||
|
||||
test('Removes previous groups if empty array sent', async () => {
|
||||
|
@ -153,7 +153,10 @@ describe.each([
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -171,12 +174,18 @@ describe.each([
|
||||
});
|
||||
|
||||
expect(updateRes.statusCode).toBe(200);
|
||||
expect(updateRes.body).toEqual(res.body);
|
||||
expect(updateRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
});
|
||||
|
||||
test('Removes previous group if null sent', async () => {
|
||||
|
@ -151,7 +151,10 @@ describe.each([
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -169,12 +172,18 @@ describe.each([
|
||||
});
|
||||
|
||||
expect(updateRes.statusCode).toBe(200);
|
||||
expect(updateRes.body).toEqual(res.body);
|
||||
expect(updateRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
|
||||
const getRes = await rq.get(`/${res.body.id}`);
|
||||
|
||||
expect(getRes.statusCode).toBe(200);
|
||||
expect(getRes.body).toEqual(res.body);
|
||||
expect(getRes.body).toMatchObject({
|
||||
id: res.body.id,
|
||||
field: res.body.field,
|
||||
});
|
||||
});
|
||||
|
||||
test('Throws if group is null', async () => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user