From ebccd7732a757e84ffd66844b6fbc323a64e6438 Mon Sep 17 00:00:00 2001 From: Avi Mehta Date: Thu, 10 Dec 2015 09:50:03 -0800 Subject: [PATCH] Added tests for optout. This commit is for #871. --- .../0.1/test/test-amp-analytics.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/extensions/amp-analytics/0.1/test/test-amp-analytics.js b/extensions/amp-analytics/0.1/test/test-amp-analytics.js index afe6309c8356..b5460eda0e97 100644 --- a/extensions/amp-analytics/0.1/test/test-amp-analytics.js +++ b/extensions/amp-analytics/0.1/test/test-amp-analytics.js @@ -348,4 +348,29 @@ describe('amp-analytics', function() { '&title=Test%20Title'); }); + it('respects optout', function() { + const config = { + 'host': 'example.com', + 'requests': {'foo': '/bar'}, + 'triggers': [{'on': 'visible', 'request': 'foo'}], + 'optout': 'foo.bar' + }; + let analytics = getAnalyticsTag(config); + analytics.buildCallback(); + expect(sendRequestSpy.withArgs('https://example.com/bar').calledOnce) + .to.be.true; + + sendRequestSpy.reset(); + windowApi['foo'] = {'bar': function() { return true; }}; + analytics = getAnalyticsTag(config); + analytics.buildCallback(); + expect(sendRequestSpy.callCount).to.be.equal(0); + + sendRequestSpy.reset(); + windowApi['foo'] = {'bar': function() { return false; }}; + analytics = getAnalyticsTag(config); + analytics.buildCallback(); + expect(sendRequestSpy.withArgs('https://example.com/bar').calledOnce) + .to.be.true; + }); });