NapCatQQ source snapshot
This commit is contained in:
commit
f954252a34
1111 files changed
+139867
No files matched your search
@@ -0,0 +1,89 @@
|
||||
// StreamBasic must be evaluated before OneBotAction: the two modules import each other,
|
||||
// and loading OneBotAction first leaves BasicStream extending an uninitialized binding.
|
||||
import '../napcat-onebot/action/stream/StreamBasic';
|
||||
import { afterEach, describe, expect, test, vi } from 'vitest';
|
||||
import type { NetworkAdapterConfig } from '../napcat-onebot/config/config';
|
||||
|
||||
import GetFriendMsgHistory from '../napcat-onebot/action/go-cqhttp/GetFriendMsgHistory';
|
||||
|
||||
// `GetFriendMsgHistory` imports `napcat-core/types` via the bare package subpath,
|
||||
// which Node exports resolution cannot map in this workspace (`./*` pattern cannot
|
||||
// target an extensionless directory). Remap it onto the aliased source tree.
|
||||
vi.mock('napcat-core/types', async () => await vi.importActual('@/napcat-core/types/index'));
|
||||
vi.mock('napcat-common/src/message-unique', async () => await vi.importActual('@/napcat-common/src/message-unique'));
|
||||
|
||||
const SAMPLE_MSG = {
|
||||
msgId: '100',
|
||||
msgSeq: '1',
|
||||
chatType: 1,
|
||||
peerUid: 'friend-uid',
|
||||
peerUin: '42',
|
||||
senderUin: '42',
|
||||
msgTime: '1700000000',
|
||||
msgRandom: '1',
|
||||
elements: [],
|
||||
} as never;
|
||||
|
||||
const TEST_ADAPTER = 'test';
|
||||
const TEST_CONFIG = { messagePostFormat: 'array' } as NetworkAdapterConfig;
|
||||
|
||||
function createHistoryAction () {
|
||||
const parseMessage = vi.fn().mockResolvedValue({ message: [], raw_message: '' });
|
||||
const core = {
|
||||
selfInfo: { uid: 'self-uid', uin: '1' },
|
||||
apis: {
|
||||
UserApi: { getUidByUinV2: vi.fn().mockResolvedValue('friend-uid') },
|
||||
FriendApi: { isBuddy: vi.fn().mockResolvedValue(true) },
|
||||
MsgApi: {
|
||||
getAioFirstViewLatestMsgs: vi.fn().mockResolvedValue({ msgList: [SAMPLE_MSG] }),
|
||||
},
|
||||
},
|
||||
};
|
||||
const obContext = {
|
||||
apis: { MsgApi: { parseMessage } },
|
||||
};
|
||||
const action = new GetFriendMsgHistory(obContext as never, core as never);
|
||||
return { action, parseMessage };
|
||||
}
|
||||
|
||||
describe('get_friend_msg_history quick_reply forwarding', () => {
|
||||
afterEach(() => {
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
|
||||
test('forwards quick_reply: true to parseMessage', async () => {
|
||||
const { action, parseMessage } = createHistoryAction();
|
||||
|
||||
await action._handle(
|
||||
{ user_id: '42', count: 20, reverse_order: false, disable_get_url: false, parse_mult_msg: true, quick_reply: true, reverseOrder: false },
|
||||
TEST_ADAPTER,
|
||||
TEST_CONFIG
|
||||
);
|
||||
|
||||
expect(parseMessage).toHaveBeenCalledWith(
|
||||
SAMPLE_MSG,
|
||||
'array',
|
||||
true,
|
||||
false,
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
test('forwards quick_reply: false (default) to parseMessage', async () => {
|
||||
const { action, parseMessage } = createHistoryAction();
|
||||
|
||||
await action._handle(
|
||||
{ user_id: '42', count: 20, reverse_order: false, disable_get_url: false, parse_mult_msg: true, quick_reply: false, reverseOrder: false },
|
||||
TEST_ADAPTER,
|
||||
TEST_CONFIG
|
||||
);
|
||||
|
||||
expect(parseMessage).toHaveBeenCalledWith(
|
||||
SAMPLE_MSG,
|
||||
'array',
|
||||
true,
|
||||
false,
|
||||
false
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user