tests: flesh out MockGenericDatabase

This commit is contained in:
Roman Godmaire 2024-02-11 08:33:48 -05:00
parent be1b61f831
commit a7cfc3be3c

View file

@ -1,11 +1,8 @@
import type { Database } from '$lib/server/db'; import type { Database } from '$lib/server/db';
import { v4 as uuidv4 } from 'uuid';
// TODO Flesh this out
export class MockGenericDatabase implements Database { export class MockGenericDatabase implements Database {
fetchHomepageData = async (_producerId: string) => { fetchHomepageData = async (_producerId: string) => {
const data = [ return Promise.resolve([
{ {
id: 1, id: 1,
title: 'Fake Song', title: 'Fake Song',
@ -29,16 +26,65 @@ export class MockGenericDatabase implements Database {
versions: 1 versions: 1
} }
} }
]; ]);
};
return Promise.resolve(data); fetchTrackPageData = async (trackId: number) => {
return Promise.resolve({
id: trackId,
title: 'Fake Track',
createdAt: new Date(1970, 1, 1),
producer: {
username: 'fake-user'
},
versions: [
{
id: '66dbd96c-2c84-4fe6-8a74-eeb3876f6f34',
comments: [
{
createdAt: new Date(1970, 1, 1),
content: 'Fake comment',
author: {
username: 'other-fake-user'
}
}
]
}
]
});
}; };
getLatestTrackVersion = async (_trackId: number) => { getLatestTrackVersion = async (_trackId: number) => {
return Promise.resolve({ id: '66dbd96c-2c84-4fe6-8a74-eeb3876f6f34' }); return Promise.resolve({ id: '66dbd96c-2c84-4fe6-8a74-eeb3876f6f34' });
}; };
createComment = async (_versionId: string, _userId: string, _content: string) => { createTrack = async (producerId: string, title: string) => {
return Promise.resolve(null); return Promise.resolve({
id: 1,
title,
producerId,
createdAt: new Date(1970, 1, 1),
updatedAt: new Date(1970, 1, 1)
});
};
createTrackVersion = async (trackId: number) => {
return Promise.resolve({
id: '66dbd96c-2c84-4fe6-8a74-eeb3876f6f34',
trackId,
createdAt: new Date(1970, 1, 1),
updatedAt: new Date(1970, 1, 1)
});
};
createComment = async (versionId: string, userId: string, content: string) => {
return Promise.resolve({
id: 1,
content,
authorId: userId,
trackVersionId: versionId,
createdAt: new Date(1970, 1, 1),
updatedAt: new Date(1970, 1, 1)
});
}; };
} }