refactor: e2e tests (#30870)

This commit is contained in:
Jason Rasmussen 2026-08-19 14:31:57 -04:00 committed by GitHub
parent c63824bcea
commit 7cd0a7d30c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 618 additions and 648 deletions

View file

@ -0,0 +1,44 @@
import { Kysely } from 'kysely';
import { AccessRepository } from 'src/repositories/access.repository';
import { AssetRepository } from 'src/repositories/asset.repository';
import { EventRepository } from 'src/repositories/event.repository';
import { LoggingRepository } from 'src/repositories/logging.repository';
import { StackRepository } from 'src/repositories/stack.repository';
import { DB } from 'src/schema';
import { StackService } from 'src/services/stack.service';
import { newMediumService } from 'test/medium.factory';
import { factory } from 'test/small.factory';
import { getKyselyDB } from 'test/utils';
let defaultDatabase: Kysely<DB>;
const setup = (db?: Kysely<DB>) => {
return newMediumService(StackService, {
database: db || defaultDatabase,
real: [AccessRepository, AssetRepository, StackRepository],
mock: [EventRepository, LoggingRepository],
});
};
beforeAll(async () => {
defaultDatabase = await getKyselyDB();
});
describe(StackService.name, () => {
describe('create', () => {
it('should not stack an asset of another user', async () => {
const { sut, ctx } = setup();
const { user } = await ctx.newUser();
const { user: otherUser } = await ctx.newUser();
const { asset } = await ctx.newAsset({ ownerId: user.id });
const { asset: otherAsset } = await ctx.newAsset({ ownerId: otherUser.id });
await expect(sut.create(factory.auth({ user }), { assetIds: [asset.id, otherAsset.id] })).rejects.toThrow(
'Not found or no asset.update access',
);
await expect(
ctx.database.selectFrom('stack').selectAll().where('ownerId', '=', user.id).execute(),
).resolves.toEqual([]);
});
});
});