Rename conversion function, extract to module scope and add tests. (#89018)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Justin Kambic 2021-01-26 22:53:14 -05:00 committed by GitHub
parent c6cfdee5b0
commit 3fe2e95e35
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 6 deletions

View file

@ -5,9 +5,19 @@
*/
import { getUptimeESMockClient } from './helper';
import { getNetworkEvents } from './get_network_events';
import { getNetworkEvents, secondsToMillis } from './get_network_events';
describe('getNetworkEvents', () => {
describe('secondsToMillis conversion', () => {
it('returns -1 for -1 value', () => {
expect(secondsToMillis(-1)).toBe(-1);
});
it('returns a value of seconds as milliseconds', () => {
expect(secondsToMillis(10)).toBe(10_000);
});
});
let mockHits: any;
beforeEach(() => {

View file

@ -12,6 +12,10 @@ interface GetNetworkEventsParams {
stepIndex: string;
}
export const secondsToMillis = (seconds: number) =>
// -1 is a special case where a value was unavailable
seconds === -1 ? -1 : seconds * 1000;
export const getNetworkEvents: UMElasticsearchQueryFn<
GetNetworkEventsParams,
{ events: NetworkEvent[]; total: number }
@ -35,17 +39,15 @@ export const getNetworkEvents: UMElasticsearchQueryFn<
const { body: result } = await uptimeEsClient.search({ body: params });
const microToMillis = (micro: number): number => (micro === -1 ? -1 : micro * 1000);
return {
total: result.hits.total.value,
events: result.hits.hits.map<NetworkEvent>((event: any) => {
const requestSentTime = microToMillis(event._source.synthetics.payload.request_sent_time);
const loadEndTime = microToMillis(event._source.synthetics.payload.load_end_time);
const requestSentTime = secondsToMillis(event._source.synthetics.payload.request_sent_time);
const loadEndTime = secondsToMillis(event._source.synthetics.payload.load_end_time);
const requestStartTime =
event._source.synthetics.payload.response &&
event._source.synthetics.payload.response.timing
? microToMillis(event._source.synthetics.payload.response.timing.request_time)
? secondsToMillis(event._source.synthetics.payload.response.timing.request_time)
: undefined;
return {