code: nextjs,frontends,package (6 files)

This commit is contained in:
2025-12-26 04:53:19 +00:00
parent 584f9bc3d8
commit 83c811f024
6 changed files with 22 additions and 13 deletions

View File

@@ -5,9 +5,15 @@
#include "server.hpp"
#include <algorithm>
#include <chrono>
#include <drogon/drogon.h>
#include <json/json.h>
#include <functional>
#include <iostream>
#include <json/json.h>
#include <sstream>
#include "dbal/core/errors.hpp"
#include "dbal/core/types.hpp"
namespace {

View File

@@ -1,40 +1,39 @@
import { describe, it, expect, vi, beforeEach } from 'vitest'
const mockUpdate = vi.fn()
const mockAdapter = { update: mockUpdate }
const mockDbalUpdate = vi.fn()
vi.mock('../dbal-client', () => ({
getAdapter: () => mockAdapter,
vi.mock('@/lib/dbal/database-dbal/users/dbal-update-user.server', () => ({
dbalUpdateUser: (id: string, payload: Record<string, unknown>) => mockDbalUpdate(id, payload),
}))
import { transferSuperGodPower } from './transfer-super-god-power'
describe('transferSuperGodPower', () => {
beforeEach(() => {
mockUpdate.mockReset()
mockDbalUpdate.mockReset()
})
it.each([
{ fromUserId: 'user_sg', toUserId: 'user_god' },
{ fromUserId: 'owner_1', toUserId: 'admin_2' },
])('should transfer from $fromUserId to $toUserId', async ({ fromUserId, toUserId }) => {
mockUpdate.mockResolvedValue(undefined)
])('updates both users when transferring power', async ({ fromUserId, toUserId }) => {
mockDbalUpdate.mockResolvedValue({ id: fromUserId })
await transferSuperGodPower(fromUserId, toUserId)
expect(mockUpdate).toHaveBeenCalledTimes(2)
expect(mockUpdate).toHaveBeenNthCalledWith(1, 'User', fromUserId, {
expect(mockDbalUpdate).toHaveBeenCalledTimes(2)
expect(mockDbalUpdate).toHaveBeenNthCalledWith(1, fromUserId, {
isInstanceOwner: false,
role: 'god',
})
expect(mockUpdate).toHaveBeenNthCalledWith(2, 'User', toUserId, {
expect(mockDbalUpdate).toHaveBeenNthCalledWith(2, toUserId, {
isInstanceOwner: true,
role: 'supergod',
})
})
it('should propagate adapter errors', async () => {
mockUpdate.mockRejectedValue(new Error('Transfer failed'))
it('propagates errors from the DBAL client', async () => {
mockDbalUpdate.mockRejectedValue(new Error('Transfer failed'))
await expect(transferSuperGodPower('u1', 'u2')).rejects.toThrow('Transfer failed')
})

View File

@@ -0,0 +1 @@
export { getPackageCatalogEntry } from './getters/functions/get-package-catalog-entry'

View File

@@ -0,0 +1 @@
export { installPackageContent } from './install/install-package-content'

View File

@@ -0,0 +1 @@
export { resolvePackageFilePath } from './getters/functions/resolve-package-file-path'

View File

@@ -16,6 +16,7 @@ export default defineConfig({
resolve: {
alias: {
'@': resolve(__dirname, './src'),
'@/dbal': resolve(__dirname, '../dbal/ts/src'),
},
},
})