1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 /** 6 * Test fixture for cards.js. 7 * @constructor 8 * @extends {testing.Test} 9 */ 10 function GoogleNowCardsUnitTest () { 11 testing.Test.call(this); 12 } 13 14 GoogleNowCardsUnitTest.prototype = { 15 __proto__: testing.Test.prototype, 16 17 /** @override */ 18 extraLibraries: [ 19 'cards.js' 20 ] 21 }; 22 23 var testCardId = 'TEST CARD ID'; 24 var testNotification = {testNotificationField: 'TEST NOTIFICATION VALUE'}; 25 var expectedShowAlarmId = 'card-show-TEST CARD ID'; 26 var expectedHideAlarmId = 'card-hide-TEST CARD ID'; 27 var testActionUrls = {testField: 'TEST VALUE'}; 28 var testDismissals = [ 29 {testDismissalField: 'TEST DISMISSAL VALUE 1'}, 30 {testDismissalField: 'TEST DISMISSAL VALUE 2'} 31 ]; 32 var testGroupRank = 271; 33 var LOCATION_CARDS_LINK_THRESHOLD = 10; 34 var localStorage = {locationCardsShown: 0}; 35 36 function setUpCardManagerTest(fixture) { 37 fixture.makeAndRegisterMockApis([ 38 'chrome.alarms.clear', 39 'chrome.alarms.create', 40 'chrome.notifications.clear', 41 'chrome.storage.local.set', 42 'countLocationCard', 43 'instrumented.alarms.onAlarm.addListener', 44 'instrumented.notifications.create', 45 'instrumented.notifications.update', 46 'instrumented.storage.local.get', 47 'tasks.add' 48 ]); 49 50 chrome.runtime = {}; // No error. 51 52 var onAlarmSavedArgs = new SaveMockArguments(); 53 fixture.mockApis.expects(once()). 54 instrumented_alarms_onAlarm_addListener( 55 onAlarmSavedArgs.match(ANYTHING)); 56 57 var cardSet = buildCardSet(); 58 59 Mock4JS.verifyAllMocks(); 60 61 Date.now = function() { return 300000; }; 62 63 var test = { 64 cardSet: cardSet, 65 alarmCallback: onAlarmSavedArgs.arguments [0] 66 }; 67 68 return test; 69 } 70 71 TEST_F('GoogleNowCardsUnitTest', 'BuildCardManager', function() { 72 // Tests that buildCardSet() call completes with no problems. 73 var test = setUpCardManagerTest(this); 74 75 assertEquals('object', typeof test.cardSet); 76 assertEquals('function', typeof test.alarmCallback); 77 }); 78 79 TEST_F('GoogleNowCardsUnitTest', 'onAlarmUnrecognized', function() { 80 // Tests onAlarm does nothing on an unrelated alarm. 81 var test = setUpCardManagerTest(this); 82 83 // Call tested method. 84 test.alarmCallback({name: 'unrelated'}); 85 }); 86