0

I am writing unit test case where I'm facing jasmine error

This is for angular application not sure the reason why this is happening

Error

Uncaught Error: Uncaught (in promise): TypeError: Cannot read property 'includes' of undefined
        TypeError: Cannot read property 'includes' of undefined
            at includes src/app/customer-details-v2/customer-details-v2.component.ts:236:41)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:391:1)
            at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:289:1)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:390:1)
            at Object.onInvoke node_modules/@angular/core/fesm5/core.js:17299:1)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:390:1)
            at Zone../node_modules/zone.js/dist/zone.js.Zone.run node_modules/zone.js/dist/zone.js:150:1)
            at http://localhost:9876/_karma_webpack_/webpack:/node_modules/zone.js/dist/zone.js:889:1
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:423:1)
            at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/zone-testing.js:320:1) thrown
        TypeError: Cannot read property 'includes' of undefined
            at includes src/app/customer-details-v2/customer-details-v2.component.ts:236:41)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:391:1)
            at AsyncTestZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.AsyncTestZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:714:1)
            at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:286:1)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:390:1)
            at Object.onInvoke node_modules/@angular/core/fesm5/core.js:17299:1)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:390:1)
            at Zone../node_modules/zone.js/dist/zone.js.Zone.run node_modules/zone.js/dist/zone.js:150:1)
            at http://localhost:9876/_karma_webpack_/webpack:/node_modules/zone.js/dist/zone.js:889:1
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:423:1)
            at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:423:1)

this error should no occur

Kiran Mistry
  • 2,614
  • 3
  • 12
  • 28
  • this is useless, we need the code you test, and the actual test... we can't help if you paste here the error message only... – oma Sep 10 '19 at 13:45
  • please check below code written in component.ts – Jagadish M Sep 11 '19 at 12:05
  • public referralCheck() { this.loginService.getUserInfo().then(userInfo => { if (userInfo.securityGroups.includes('CMCP_REFERRAL')) { this.isReferral = true; } else { this.isReferral = false; } }); } – Jagadish M Sep 11 '19 at 12:05
  • below test case written in spec file – Jagadish M Sep 11 '19 at 12:05
  • it('should check referralCheck', () => { const spyTest = spyOn(logservice, 'getUserInfo').and.returnValue(when(usermockData)); component.referralCheck(); expect(spyTest).toHaveBeenCalled(); }); – Jagadish M Sep 11 '19 at 12:06
  • where usermockData is declared as "const usermockData = {securityGroups: '01UREG1_CMCP_ENQUIRY'};" – Jagadish M Sep 11 '19 at 12:06

0 Answers0