Files
zszq-trs/YLErpWeb/fe-tests/floatingIncomeDirectionDisplay.test.js
tengyufan b1d2ad0756 fix: EQD-6718 收益互换浮动端多空方向兼容历史支付数据
- 配置开启时,查看交易、审批查看、交易平仓、收益结算和平仓详情按浮动收支方向与原多空方向组合展示多空方向
- 兼容历史支付数据:支付多头展示为空头,支付空头展示为多头,收取方向保持原多空展示
- 新增浮动端方向组合及相关页面覆盖专项测试
2026-08-07 16:46:37 +08:00

48 lines
2.1 KiB
JavaScript

const fs = require('fs');
const path = require('path');
function read(relativePath) {
return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8');
}
function floatingPositionTypeText(posiDirection, positionType) {
return posiDirection === positionType ? '多头' : '空头';
}
describe('收益互换浮动端多空方向展示', () => {
test.each([
[1, 1, '多头'],
[1, 2, '空头'],
[2, 1, '空头'],
[2, 2, '多头']
])('收支方向=%i,多空方向=%i时展示%s', (posiDirection, positionType, expected) => {
expect(floatingPositionTypeText(posiDirection, positionType)).toBe(expected);
});
test('查看交易的初始持仓、实时持仓、平仓和互换记录均使用计算后的方向', () => {
const source = read('Views/SwapTrade2/TradeView.cshtml');
expect(source).toContain('FloatingPositionTypeText(item.PosiDirection, item.PositionType)');
expect(source.match(/FloatingPositionTypeText\(item\.PosiDirection, item\.PositionType\)/g)).toHaveLength(2);
expect(source.match(/FloatingPositionTypeText\(closeFloat\.PayDirection, closeFloat\.PositionType\)/g)).toHaveLength(2);
});
test.each([
'Views/SwapTrade2/SwapUnwind.cshtml',
'Views/SwapTrade2/SwapIncome.cshtml'
])('%s按收支方向和多空方向计算展示值', relativePath => {
const source = read(relativePath);
expect(source).toContain('floatPosition.PayDirection==floatPosition.PositionType?"多头":"空头"');
expect(source).toContain('floatPosition.PositionType==1?"多头":"空头"');
});
test('平仓详情隐藏浮动收支方向并计算多空展示值', () => {
const source = read('Views/SwapTrade2/CloseDetial.cshtml');
expect(source).toContain('bool hideFloatingIncomeDirection = PS.Config.ErpElement.SwapFloatingIncomeReceiveOnlyMode;');
expect(source).toContain('FloatingPositionTypeText(item.PosiDirection, item.PositionType)');
expect(source).toMatch(/@if \(!hideFloatingIncomeDirection\)[\s\S]*<td>收支方向<\/td>/);
});
});