feat(web): show partners assets on the main timeline (#4933)
This commit is contained in:
@@ -584,6 +584,52 @@ describe(`${AssetController.name} (e2e)`, () => {
|
||||
]),
|
||||
);
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and archived', async () => {
|
||||
const req1 = await request(server)
|
||||
.get('/asset/time-buckets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.query({ size: TimeBucketSize.MONTH, withPartners: true, isArchived: true });
|
||||
|
||||
expect(req1.status).toBe(400);
|
||||
expect(req1.body).toEqual(errorStub.badRequest());
|
||||
|
||||
const req2 = await request(server)
|
||||
.get('/asset/time-buckets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.query({ size: TimeBucketSize.MONTH, withPartners: true, isArchived: undefined });
|
||||
|
||||
expect(req2.status).toBe(400);
|
||||
expect(req2.body).toEqual(errorStub.badRequest());
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and favorite', async () => {
|
||||
const req1 = await request(server)
|
||||
.get('/asset/time-buckets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.query({ size: TimeBucketSize.MONTH, withPartners: true, isFavorite: true });
|
||||
|
||||
expect(req1.status).toBe(400);
|
||||
expect(req1.body).toEqual(errorStub.badRequest());
|
||||
|
||||
const req2 = await request(server)
|
||||
.get('/asset/time-buckets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.query({ size: TimeBucketSize.MONTH, withPartners: true, isFavorite: false });
|
||||
|
||||
expect(req2.status).toBe(400);
|
||||
expect(req2.body).toEqual(errorStub.badRequest());
|
||||
});
|
||||
|
||||
it('should return error if time bucket is requested with partners asset and trash', async () => {
|
||||
const req = await request(server)
|
||||
.get('/asset/time-buckets')
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.query({ size: TimeBucketSize.MONTH, withPartners: true, isTrashed: true });
|
||||
|
||||
expect(req.status).toBe(400);
|
||||
expect(req.body).toEqual(errorStub.badRequest());
|
||||
});
|
||||
});
|
||||
|
||||
describe('GET /asset/map-marker', () => {
|
||||
|
||||
@@ -115,6 +115,26 @@ describe(`${PartnerController.name} (e2e)`, () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('PUT /partner/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(server).put(`/partner/${user2.userId}`);
|
||||
|
||||
expect(status).toBe(401);
|
||||
expect(body).toEqual(errorStub.unauthorized);
|
||||
});
|
||||
|
||||
it('should update partner', async () => {
|
||||
await repository.create({ sharedById: user2.userId, sharedWithId: user1.userId });
|
||||
const { status, body } = await request(server)
|
||||
.put(`/partner/${user2.userId}`)
|
||||
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||
.send({ inTimeline: false });
|
||||
|
||||
expect(status).toBe(200);
|
||||
expect(body).toEqual(expect.objectContaining({ id: user2.userId, inTimeline: false }));
|
||||
});
|
||||
});
|
||||
|
||||
describe('DELETE /partner/:id', () => {
|
||||
it('should require authentication', async () => {
|
||||
const { status, body } = await request(server).delete(`/partner/${user2.userId}`);
|
||||
|
||||
Vendored
+2
@@ -9,6 +9,7 @@ export const partnerStub = {
|
||||
sharedBy: userStub.admin,
|
||||
sharedWith: userStub.user1,
|
||||
sharedWithId: userStub.user1.id,
|
||||
inTimeline: true,
|
||||
}),
|
||||
user1ToAdmin1: Object.freeze<PartnerEntity>({
|
||||
createdAt: new Date('2023-02-23T05:06:29.716Z'),
|
||||
@@ -17,5 +18,6 @@ export const partnerStub = {
|
||||
sharedById: userStub.user1.id,
|
||||
sharedWithId: userStub.admin.id,
|
||||
sharedWith: userStub.admin,
|
||||
inTimeline: true,
|
||||
}),
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@ export interface IAccessRepositoryMock {
|
||||
library: jest.Mocked<IAccessRepository['library']>;
|
||||
timeline: jest.Mocked<IAccessRepository['timeline']>;
|
||||
person: jest.Mocked<IAccessRepository['person']>;
|
||||
partner: jest.Mocked<IAccessRepository['partner']>;
|
||||
}
|
||||
|
||||
export const newAccessRepositoryMock = (reset = true): IAccessRepositoryMock => {
|
||||
@@ -50,5 +51,9 @@ export const newAccessRepositoryMock = (reset = true): IAccessRepositoryMock =>
|
||||
person: {
|
||||
hasOwnerAccess: jest.fn(),
|
||||
},
|
||||
|
||||
partner: {
|
||||
hasUpdateAccess: jest.fn(),
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,5 +6,6 @@ export const newPartnerRepositoryMock = (): jest.Mocked<IPartnerRepository> => {
|
||||
remove: jest.fn(),
|
||||
getAll: jest.fn(),
|
||||
get: jest.fn(),
|
||||
update: jest.fn(),
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user