From 548086db7a254fec160de46cbb0b6c5df3c44cfa Mon Sep 17 00:00:00 2001 From: Salakar Date: Wed, 11 Apr 2018 03:42:25 +0100 Subject: [PATCH] [tests][perf] added perf() tests -> 100% coverage --- bridge/e2e/perf/perf.e2e.js | 34 ++++++++++++++++++++++++++++++++++ bridge/e2e/perf/trace.e2e.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 bridge/e2e/perf/perf.e2e.js create mode 100644 bridge/e2e/perf/trace.e2e.js diff --git a/bridge/e2e/perf/perf.e2e.js b/bridge/e2e/perf/perf.e2e.js new file mode 100644 index 00000000..6d614f1d --- /dev/null +++ b/bridge/e2e/perf/perf.e2e.js @@ -0,0 +1,34 @@ +describe('perf()', () => { + describe('setPerformanceCollectionEnabled()', () => { + it('true', async () => { + await firebase.perf().setPerformanceCollectionEnabled(true); + }); + + it('false', async () => { + await firebase.perf().setPerformanceCollectionEnabled(false); + }); + + xit('errors if not boolean', async () => { + // TODO add validations to lib + await firebase.perf().setPerformanceCollectionEnabled(); + }); + }); + + describe('newTrace()', () => { + it('returns an instance of Trace', async () => { + const trace = firebase.perf().newTrace('foo'); + trace.constructor.name.should.be.equal('Trace'); + }); + + xit('errors if identifier not a string', async () => { + // TODO add validations to lib + try { + firebase.perf().newTrace([1, 2, 3, 4]); + } catch (e) { + return undefined; + } + + throw new Error('Trace did not error on invalid identifier'); + }); + }); +}); diff --git a/bridge/e2e/perf/trace.e2e.js b/bridge/e2e/perf/trace.e2e.js new file mode 100644 index 00000000..0751dcf7 --- /dev/null +++ b/bridge/e2e/perf/trace.e2e.js @@ -0,0 +1,28 @@ +describe('perf()', () => { + describe('Trace', () => { + it('start() & stop()', async () => { + const trace = firebase.perf().newTrace('bar'); + await trace.start(); + await trace.stop(); + }); + + describe('incrementCounter()', () => { + it('accepts a string event', async () => { + const trace = firebase.perf().newTrace('bar'); + await trace.start(); + await trace.incrementCounter('fooby'); + await trace.incrementCounter('fooby'); + await trace.incrementCounter('fooby'); + await trace.incrementCounter('fooby'); + await trace.stop(); + }); + + xit('errors if event is not a string', async () => { + const trace = firebase.perf().newTrace('bar'); + await trace.start(); + await trace.incrementCounter([1, 2, 3, 4]); + await trace.stop(); + }); + }); + }); +});