adding support for jest by creating custom createSpyObject#47
adding support for jest by creating custom createSpyObject#47tgadre wants to merge 5 commits intostonelasley:developfrom
Conversation
|
You can find the jest version here: https://www.npmjs.com/package/ionic-mocks-jest |
| }; | ||
| return ActionSheetControllerMock; | ||
| }()); | ||
| exports.ActionSheetControllerMock = ActionSheetControllerMock; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var create_spy_1 = require("../utilities/create-spy"); | ||
| var action_sheet_1 = require("./action-sheet"); |
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| var action_sheet_1 = require("./action-sheet"); | ||
| describe('ActionSheetMock', function () { | ||
| it('should initialize', function () { | ||
| expect(action_sheet_1.ActionSheetMock.instance).toBeDefined(); |
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var action_sheet_1 = require("./action-sheet"); | ||
| describe('ActionSheetMock', function () { | ||
| it('should initialize', function () { |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var action_sheet_1 = require("./action-sheet"); | ||
| describe('ActionSheetMock', function () { |
| @@ -0,0 +1,9 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var action_sheet_1 = require("./action-sheet"); | |||
| @@ -0,0 +1,9 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| ActionSheetMock.instance = function () { | ||
| var instance = create_spy_1.createSpyObj('ActionSheet', ['present', 'dismiss']); | ||
| instance.present.and.returnValue(Promise.resolve()); | ||
| instance.dismiss.and.returnValue(Promise.resolve()); |
| } | ||
| ActionSheetMock.instance = function () { | ||
| var instance = create_spy_1.createSpyObj('ActionSheet', ['present', 'dismiss']); | ||
| instance.present.and.returnValue(Promise.resolve()); |
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return AlertControllerMock; | ||
| }()); | ||
| exports.AlertControllerMock = AlertControllerMock; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var create_spy_1 = require("../utilities/create-spy"); | ||
| var alert_1 = require("./alert"); |
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return ActionSheetMock; | ||
| }()); | ||
| exports.ActionSheetMock = ActionSheetMock; |
| ActionSheetMock.instance = function () { | ||
| var instance = create_spy_1.createSpyObj('ActionSheet', ['present', 'dismiss']); | ||
| instance.present.and.returnValue(Promise.resolve()); | ||
| instance.dismiss.and.returnValue(Promise.resolve()); |
| } | ||
| ActionSheetMock.instance = function () { | ||
| var instance = create_spy_1.createSpyObj('ActionSheet', ['present', 'dismiss']); | ||
| instance.present.and.returnValue(Promise.resolve()); |
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,16 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| } | ||
| return obj; | ||
| } | ||
| exports.createSpyObj = createSpyObj; |
| function createSpyObj(baseName, methodNames) { | ||
| var obj = {}; | ||
| for (var i = 0; i < methodNames.length; i++) { | ||
| obj[methodNames[i]] = jasmine.createSpy(baseName, function () { }); |
| @@ -0,0 +1,11 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,11 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| describe('vibrate', function () { | ||
| it('should have been called', function () { | ||
| vibration.vibrate(); | ||
| expect(vibration.vibrate).toHaveBeenCalled(); |
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var vibration_1 = require("./vibration"); | |||
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return VibrationMock; | ||
| }()); | ||
| exports.VibrationMock = VibrationMock; |
| function VibrationMock() { | ||
| } | ||
| VibrationMock.instance = function () { | ||
| var instance = jasmine.createSpyObj('Vibration', ['vibrate']); |
| @@ -0,0 +1,14 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,14 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return ThreeDeeTouchMock; | ||
| }()); | ||
| exports.ThreeDeeTouchMock = ThreeDeeTouchMock; |
| 'enableLinkPreview', | ||
| 'disableLinkPreview' | ||
| ]); | ||
| instance.isAvailable.and.returnValue(Promise.resolve(true)); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var Observable_1 = require("rxjs/Observable"); | ||
| var create_spy_1 = require("../utilities/create-spy"); |
| @@ -0,0 +1,25 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,25 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return SplashScreenMock; | ||
| }()); | ||
| exports.SplashScreenMock = SplashScreenMock; |
| @@ -0,0 +1,13 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,13 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,13 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return NFCMock; | ||
| }()); | ||
| exports.NFCMock = NFCMock; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var Observable_1 = require("rxjs/Observable"); | ||
| var create_spy_1 = require("../utilities/create-spy"); |
| @@ -0,0 +1,48 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var Observable_1 = require("rxjs/Observable"); | |||
| @@ -0,0 +1,48 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| }; | ||
| return KeyboardMock; | ||
| }()); | ||
| exports.KeyboardMock = KeyboardMock; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var Observable_1 = require("rxjs/Observable"); | ||
| var create_spy_1 = require("../utilities/create-spy"); |
| @@ -0,0 +1,24 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var Observable_1 = require("rxjs/Observable"); | |||
| @@ -0,0 +1,24 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,24 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| var nfc_1 = require("./nfc"); | ||
| exports.NFCMock = nfc_1.NFCMock; | ||
| var vibration_1 = require("./vibration"); | ||
| exports.VibrationMock = vibration_1.VibrationMock; |
| exports.GoogleAnalyticsMock = google_analytics_1.GoogleAnalyticsMock; | ||
| var nfc_1 = require("./nfc"); | ||
| exports.NFCMock = nfc_1.NFCMock; | ||
| var vibration_1 = require("./vibration"); |
| var google_analytics_1 = require("./google-analytics"); | ||
| exports.GoogleAnalyticsMock = google_analytics_1.GoogleAnalyticsMock; | ||
| var nfc_1 = require("./nfc"); | ||
| exports.NFCMock = nfc_1.NFCMock; |
| exports.NetworkMock = network_1.NetworkMock; | ||
| var google_analytics_1 = require("./google-analytics"); | ||
| exports.GoogleAnalyticsMock = google_analytics_1.GoogleAnalyticsMock; | ||
| var nfc_1 = require("./nfc"); |
| var network_1 = require("./network"); | ||
| exports.NetworkMock = network_1.NetworkMock; | ||
| var google_analytics_1 = require("./google-analytics"); | ||
| exports.GoogleAnalyticsMock = google_analytics_1.GoogleAnalyticsMock; |
| exports.SplashScreenMock = splash_screen_1.SplashScreenMock; | ||
| var keyboard_1 = require("./keyboard"); | ||
| exports.KeyboardMock = keyboard_1.KeyboardMock; | ||
| var status_bar_1 = require("./status-bar"); |
| var splash_screen_1 = require("./splash-screen"); | ||
| exports.SplashScreenMock = splash_screen_1.SplashScreenMock; | ||
| var keyboard_1 = require("./keyboard"); | ||
| exports.KeyboardMock = keyboard_1.KeyboardMock; |
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var splash_screen_1 = require("./splash-screen"); | ||
| exports.SplashScreenMock = splash_screen_1.SplashScreenMock; | ||
| var keyboard_1 = require("./keyboard"); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var splash_screen_1 = require("./splash-screen"); | ||
| exports.SplashScreenMock = splash_screen_1.SplashScreenMock; |
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var splash_screen_1 = require("./splash-screen"); | |||
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| @@ -0,0 +1,19 @@ | |||
| "use strict"; | |||
There was a problem hiding this comment.
Use the function form of "use strict".
| }; | ||
| return GoogleAnalyticsMock; | ||
| }()); | ||
| exports.GoogleAnalyticsMock = GoogleAnalyticsMock; |
| instance.trackTiming.and.returnValue(Promise.resolve()); | ||
| instance.addTransaction.and.returnValue(Promise.resolve()); | ||
| instance.addTransactionItem.and.returnValue(Promise.resolve()); | ||
| instance.enableUncaughtExceptionReporting.and.returnValue(Promise.resolve()); |
| instance.trackException.and.returnValue(Promise.resolve()); | ||
| instance.trackTiming.and.returnValue(Promise.resolve()); | ||
| instance.addTransaction.and.returnValue(Promise.resolve()); | ||
| instance.addTransactionItem.and.returnValue(Promise.resolve()); |
| instance.setAppVersion.and.returnValue(Promise.resolve()); | ||
| instance.setOptOut.and.returnValue(Promise.resolve()); | ||
| instance.debugMode.and.returnValue(Promise.resolve()); | ||
| instance.trackMetric.and.returnValue(Promise.resolve()); |
| instance.setAnonymizeIp.and.returnValue(Promise.resolve()); | ||
| instance.setAppVersion.and.returnValue(Promise.resolve()); | ||
| instance.setOptOut.and.returnValue(Promise.resolve()); | ||
| instance.debugMode.and.returnValue(Promise.resolve()); |
| instance.setUserId.and.returnValue(Promise.resolve()); | ||
| instance.setAnonymizeIp.and.returnValue(Promise.resolve()); | ||
| instance.setAppVersion.and.returnValue(Promise.resolve()); | ||
| instance.setOptOut.and.returnValue(Promise.resolve()); |
| instance.setAllowIDFACollection.and.returnValue(Promise.resolve()); | ||
| instance.setUserId.and.returnValue(Promise.resolve()); | ||
| instance.setAnonymizeIp.and.returnValue(Promise.resolve()); | ||
| instance.setAppVersion.and.returnValue(Promise.resolve()); |
| instance.startTrackerWithId.and.returnValue(Promise.resolve()); | ||
| instance.setAllowIDFACollection.and.returnValue(Promise.resolve()); | ||
| instance.setUserId.and.returnValue(Promise.resolve()); | ||
| instance.setAnonymizeIp.and.returnValue(Promise.resolve()); |
| ]); | ||
| instance.startTrackerWithId.and.returnValue(Promise.resolve()); | ||
| instance.setAllowIDFACollection.and.returnValue(Promise.resolve()); | ||
| instance.setUserId.and.returnValue(Promise.resolve()); |
| 'enableUncaughtExceptionReporting' | ||
| ]); | ||
| instance.startTrackerWithId.and.returnValue(Promise.resolve()); | ||
| instance.setAllowIDFACollection.and.returnValue(Promise.resolve()); |
| 'addTransactionItem', | ||
| 'enableUncaughtExceptionReporting' | ||
| ]); | ||
| instance.startTrackerWithId.and.returnValue(Promise.resolve()); |
| @@ -0,0 +1,47 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| var create_spy_1 = require("../utilities/create-spy"); | |||
| @@ -0,0 +1,47 @@ | |||
| "use strict"; | |||
| Object.defineProperty(exports, "__esModule", { value: true }); | |||
| it('should return spyable Promise that resolves to default key', function (done) { | ||
| classUnderTest.keys() | ||
| .then(function (res) { | ||
| expect(classUnderTest.keys).toHaveBeenCalled(); |
| }); | ||
| }); | ||
| describe('keys', function () { | ||
| it('should return spyable Promise that resolves to default key', function (done) { |
| }); | ||
| }); | ||
| }); | ||
| describe('keys', function () { |
| classUnderTest.length() | ||
| .then(function (res) { | ||
| expect(classUnderTest.length).toHaveBeenCalled(); | ||
| expect(res).toEqual(1); |
| it('should return spyable Promise that resolves to 1', function (done) { | ||
| classUnderTest.length() | ||
| .then(function (res) { | ||
| expect(classUnderTest.length).toHaveBeenCalled(); |
I am taking over the work for the following pull request. This PR is same as #31. @stonelasley Did you get a chance to test it out?
Thanks