Project 'vue-project/liangXing/frontEnd' was moved to 'vue-project/ZhangJian/ZhangJianFrontEnd'. Please update any links and bookmarks that may still have the old path.
Commit a553f6d2 by zhengyoujia

Merge branch 'test' into 'master'

Test

See merge request !9
parents b3ce4f36 0d6eba20
.idea
/out
/node_modules
/src/__test__
/public
/logs
/video
/files
src/__test__
*.logs
*.zip
import {gateStatusStrategy} from "../biz/strategies/left/gateStatusStrategy";
import {guchengLoadStrategy} from "../biz/strategies/left/guchengLoadStrategy";
import {DataExtractor} from "../util/dataExtractor";
import {sightVisitorFlowByDayStrategy} from "../biz/strategies/left/sightVisitorFlowByDayStrategy";
import {sightVisitorFlowByHourStrategy} from "../biz/strategies/left/sightVisitorFlowPerHourStrategy";
import {totalVisitorFlowByHourStrategy} from "../biz/strategies/left/totalVisitorFlowByHourStrategy";
import {totalVisitorFlowStrategy} from "../biz/strategies/left/totalVisitorFlowStrategy";
import {testDateError, testSightError, testStrategy} from "./utils";
describe('gateStatusTest', () => {
const de = DataExtractor.getInstance();
it('should be of size 4', () => {
const strategy = new gateStatusStrategy();
strategy.execute();
expect(strategy.getGateStatusMap().size).toBe(4);
});
it('status should be one of 正常, 拥挤, 顺畅', ()=>{
const strategy = new gateStatusStrategy();
strategy.execute();
expect(strategy.getGateStatusMap().forEach((value, key) => {
expect(value).toMatch(/正常|拥挤|顺畅/);
}));
});
});
describe('guchengLoadTest', ()=> {
it('load should be one of 正常, 拥挤, 顺畅', () => {
const strategy = new guchengLoadStrategy();
expect(strategy.execute()).toMatch(/正常|拥挤|顺畅/);
});
});
describe('sightVisitorFlowByDay test', () => {
const strategy = new sightVisitorFlowByDayStrategy();
it('should throw an error if date parameter is missing', () => {
testDateError(strategy);
});
it('should return the correct values', () => {
const mockParams = {
query: {
date: '2023-07-01'
}
};
const truthValue = {
"八公山森林公园": 8,
"孔庙": 3,
"安丰塘(芍跛)": 4,
"安徽楚文化博物馆": 5,
"安徽第一面党旗纪念园": 6,
"寿州古城游客中心": 6,
"报恩寺": 7,
"楚玉阁": 3,
"汐熙阁": 6,
"清真寺": 5,
"珍珠泉": 6,
"迎辉茶馆": 4,
"随缘堂(周易)": 4
}
const res = strategy.execute(mockParams);
const actualData = {};
for (const key in res) {
if (res.hasOwnProperty(key)) {
actualData[key] = res[key].count;
}
}
expect(actualData).toEqual(truthValue);
});
});
describe('sightVisitorFlowByHour test', () => {
const strategy = new sightVisitorFlowByHourStrategy();
it('should throw an error if date and sight parameters are missing', () => {
testSightError(strategy);
});
it('should return the correct value', ()=> {
const mockParams = {
query: {
date: '2023-07-01',
sight: '安徽第一面党旗纪念园'
}
};
const truthValue = {
'0': 0,
'1': 0,
'2': 0,
'3': 0,
'4': 0,
'5': 1,
'6': 0,
'7': 0,
'8': 0,
'9': 1,
'10': 0,
'11': 2,
'12': 0,
'13': 0,
'14': 0,
'15': 0,
'16': 0,
'17': 0,
'18': 0,
'19': 0,
'20': 1,
'21': 1,
'22': 0,
'23': 0
};
testStrategy(strategy, mockParams, truthValue);
});
})
describe('totalVisitorFlowByHour test', ()=> {
const strategy = new totalVisitorFlowByHourStrategy();
it('should throw an error if date parameter is missing', () => {
testDateError(strategy);
});
it('should get the correct values', () => {
const mockParams = {
query: {
date: '2023-07-01',
}
};
const truthValue = {
"0": 1,
"1": 2,
"2": 2,
"3": 3,
"4": 1,
"5": 2,
"6": 3,
"7": 3,
"8": 4,
"9": 4,
"10": 1,
"11": 3,
"12": 2,
"13": 2,
"14": 3,
"15": 4,
"16": 6,
"17": 5,
"18": 2,
"19": 4,
"20": 4,
"21": 3,
"22": 1,
"23": 2
}
testStrategy(strategy, mockParams, truthValue);
})
});
describe('totalVisitorFlow test', () => {
const strategy = new totalVisitorFlowStrategy();
it('should throw an error if date parameter is missing', () => {
testDateError(strategy);
});
it('should return the right result', () => {
const mockParams = {
query: {
date: '2023-07-01',
}
};
const truthValue = {
total: 67,
'老人':19,
'学生': 13,
'儿童': 22,
'其他': 13
}
testStrategy(strategy, mockParams, truthValue);
})
});
\ No newline at end of file
import {currentEventStrategy} from "../biz/strategies/middle/currentEventStrategy";
import {testDateError, testStrategy} from "./utils";
import {allEventDataStrategy} from "../biz/strategies/middle/eventDataStrategy";
import {totalEventCountStrategy} from "../biz/strategies/middle/totalEventCountStrategy";
describe('currentEvent test', function () {
const strategy = new currentEventStrategy();
it('should throw an error if date parameter is missing', () => {
testDateError(strategy);
});
it('should return the correct values', () => {
const mockParams = {
query: {
date: '2023-01-14'
}
};
const truthValue = {
pendingEvents: 1,
processedEvents:1
}
testStrategy(strategy, mockParams, truthValue);
});
});
describe('allEventData test', function () {
it('should get all data', () => {
const strategy = new allEventDataStrategy();
const truthValue = 200;
const res = strategy.execute();
expect(res.length).toBe(truthValue);
});
});
describe('totalEventCount test', function () {
it('should get correct result', ()=> {
const strategy = new totalEventCountStrategy();
const truthValue = {
'全部事件': 200,
'处置中': 76,
'已办结': 41,
'已处置': 35,
'待调度': 48
}
testStrategy(strategy, '', truthValue);
})
});
\ No newline at end of file
import {eventCategoryCountStrategy} from "../biz/strategies/right/eventCategoryCountStrategy";
import {testStrategy, testYearError} from "./utils";
import {eventMonthDistributionStrategy} from "../biz/strategies/right/eventMonthDistributionStrategy";
import {eventProcessingTimeStrategy} from "../biz/strategies/right/eventProcessingTimeStrategy";
import {eventSrcStrategy} from "../biz/strategies/right/eventSrcStrategy";
import {eventSubCategoryCountStrategy} from "../biz/strategies/right/eventSubCategoryCountStrategy";
import {eventTimeDistributionStrategy} from "../biz/strategies/right/eventTimeDistributionStrategy";
import {getEventCountByYearStrategy} from "../biz/strategies/right/getEventCountByYearStrategy";
import {gridEventCountStrategy} from "../biz/strategies/right/gridEventCountStrategy";
const mockParams = {
query: {
year: '2023'
}
};
describe('eventCategoryCount test', function () {
const strategy = new eventCategoryCountStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
})
it('should get correct value', ()=> {
const truthValue = {
'咨询': 37,
'建议': 25,
'投诉': 29,
'指挥调度': 22,
'求助': 20,
'预警系统':20
}
testStrategy(strategy, mockParams, truthValue)
});
});
describe('eventMonthDistribution test', function () {
const strategy = new eventMonthDistributionStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct results', ()=> {
const truthValue = {
1: 20,
2: 15,
3: 12,
4: 13,
5: 7,
6: 14,
7: 13,
8: 11,
9: 10,
10: 11,
11: 12,
12: 15
}
testStrategy(strategy, mockParams, truthValue);
});
});
describe('eventProcessingTime test', function () {
const strategy = new eventProcessingTimeStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct results', ()=> {
const res = strategy.execute(mockParams);
expect(res.调度时长).toBeLessThan(1.7);
expect(res.调度时长).toBeGreaterThan(0.5);
expect(res.处置等待).toBeCloseTo(5, 0.01);
expect(res.处置时长).toBeCloseTo(30, 0.01);
expect(res.办结时长).toBeCloseTo(52.75, 0.1)
})
});
describe('eventSrc test', function () {
const strategy = new eventSrcStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct results', ()=> {
const truthValue = {
'12301热线': 25,
'12345热线': 27,
'指挥调度': 24,
'景管通': 27,
'电话热线': 22,
'舆情平台': 28
};
testStrategy(strategy, mockParams, truthValue);
})
});
describe('eventSubCategoryCount test', function () {
const strategy = new eventSubCategoryCountStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct results', ()=>{
const truthValue = {
'医疗救助': 25,
'服务质量': 29,
'环境卫生': 25,
'纠纷': 26,
'血族调查': 20,
'设施设备': 28
}
testStrategy(strategy, mockParams, truthValue);
})
});
describe('eventTimeDistribution test', function () {
const strategy = new eventTimeDistributionStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct result', ()=> {
const truthValue = {
0: 3,
1: 9,
2: 6,
3: 6,
4: 3,
5: 5,
6: 6,
7: 4,
8: 11,
9: 7,
10: 8,
11: 5,
12: 6,
13: 3,
14: 7,
15: 5,
16: 6,
17: 10,
18: 9,
19: 7,
20: 5,
21: 6,
22: 5,
23: 11
}
testStrategy(strategy, mockParams, truthValue);
})
});
describe('getEventCountByYear test', function () {
const strategy = new getEventCountByYearStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should get correct result', ()=> {
const truthValue = {
'事件总数': 153,
'历史遗留': 0,
'办结率': 29 / 153
}
testStrategy(strategy, mockParams, truthValue);
});
});
describe('gridEventCount test', function () {
const strategy = new gridEventCountStrategy();
it('should throw an error if year parameter is missing', ()=> {
testYearError(strategy);
});
it('should give correct result', ()=> {
const truthValue = {
'八公山景区': 65,
'寿县古城': 38,
'寿州全域': 50
}
testStrategy(strategy, mockParams, truthValue);
})
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment