{"_id":"@codernr/ngx-mock-component","_rev":"3-9601c845be88eb4375521b0936576ddc","name":"@codernr/ngx-mock-component","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@codernr/ngx-mock-component","version":"1.0.0","description":"Angular utility to mock any component in unit tests","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jasmine-ts --config=jasmine.json","build":"tsc","prepare":"npm run build","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/codernr/ngx-mock-component.git"},"keywords":["angular","unit-test","testing","mock","typescript"],"author":{"name":"Zoltán Csóré"},"license":"MIT","bugs":{"url":"https://github.com/codernr/ngx-mock-component/issues"},"homepage":"https://github.com/codernr/ngx-mock-component#readme","devDependencies":{"@angular/core":"^7.2.15","@types/jasmine":"^3.3.12","@types/node":"^12.0.2","jasmine":"^3.4.0","jasmine-ts":"^0.3.0","rxjs":"^6.5.2","ts-node":"^8.1.0","typescript":"^3.4.5","zone.js":"^0.8.29"},"gitHead":"d6f9c3c28661a53c9864c7be63f63475e861da10","_id":"@codernr/ngx-mock-component@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"codernr","email":"zoltan.csore@codernr.com"},"dist":{"integrity":"sha512-uL0SbLIeRj2n5r2U4nS3UiitnHk9bnIfJdYFFeJWIycPjBKKTt6dflk2u6kijhf0M4r7AHxneIzBm+YS3jNGYw==","shasum":"8286b953c953a80469cc7962bf547825722f2c1f","tarball":"https://registry.npmjs.org/@codernr/ngx-mock-component/-/ngx-mock-component-1.0.0.tgz","fileCount":6,"unpackedSize":4132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5lomCRA9TVsSAnZWagAAl7oQAJHscCVFHRP/nlqjT8Yk\ne/c3K7WSqxRQWMTls+VJIVr8j728upJQ5xcXmEmK5dKydlblggqJkIjwzbKp\nN8uN3gzJPl9i/R+N9o7jpF5wIY+XLlZcM9QZSDcVCsdONo4h9ruTjk3+QETa\nQ8QVS//nt1eLr+UbA/WTGkM+l20490Ac2wvG9cizPIcc8zl/tBa8JVor0X+0\nb+tKR+eB8Wk91FLxLDtx10sG0fs93skZPlD9/EHDsIu/3yfKTjnYcPmQR2I5\nCa02W86DDQrcprc/rIyR9NVTlsLp4wq81+ztolvTWuVHWlyYAqFk1aFyn94u\nCGXpds7toqXD8oDW6lFEh4pla2vPH/ook2fHE5kOMgHR23Te2NcdqfTRsSAZ\ntFCj5mloRwlRCR0/9ueZthKtOQ/1hIxjuaT3oCrjUC5ZgUZ9Dk8ueO29D0iW\niTCN5Xmhwm2vsoWAZYmkcxdZptmzSMSiitLi9b3zB+05hgCNuaU3E4NndP9D\nnLmkF9lXQn7NftMS2yJjEXMD7EJjc5E8APVVM/LeGqoJtXQhZA6mTkBUIEbc\nrTyMgLqjKhmrtWzt+OF0K/L+f8pvdHBQlWq/RgcYd9/HWUjOG/yxEkIwJNZf\n9dQcjASk669CCJ/fher9J0/cg77RiDg9fZz9pJ/x0voHngkxFzPIwBioml/g\nRoFk\r\n=7bio\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtLV5rCo812DUKlFNZhBWOXYiwoOKG8YP8pp4597ATDQIhANmbe5xkrL+3Sf09S27fAuktDtrokLst3/ZGZO0Yc2yq"}]},"maintainers":[{"name":"codernr","email":"zoltan.csore@codernr.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-mock-component_1.0.0_1558600230301_0.28835534653682027"},"_hasShrinkwrap":false},"1.1.0":{"name":"@codernr/ngx-mock-component","version":"1.1.0","description":"Angular utility to mock any component in unit tests","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jasmine-ts --config=jasmine.json","build":"tsc","prepare":"npm run build","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/codernr/ngx-mock-component.git"},"keywords":["angular","unit-test","testing","mock","typescript"],"author":{"name":"Zoltán Csóré"},"license":"MIT","bugs":{"url":"https://github.com/codernr/ngx-mock-component/issues"},"homepage":"https://github.com/codernr/ngx-mock-component#readme","devDependencies":{"@angular/core":"^7.2.15","@types/jasmine":"^3.3.12","@types/node":"^12.0.2","jasmine":"^3.4.0","jasmine-ts":"^0.3.0","rxjs":"^6.5.2","ts-node":"^8.1.0","typescript":"^3.4.5","zone.js":"^0.8.29"},"gitHead":"54c68361e704a3f04ba82d24c3541fd2c9a788c7","_id":"@codernr/ngx-mock-component@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"codernr","email":"zoltan.csore@codernr.com"},"dist":{"integrity":"sha512-/Af6Xt31lCcZK320XA6n9Ewzq0yRtgYPL97Wzx8KP77cuzaC+mt2FGFmag0MYMhy6QNB3RIwJU4EI9NiXEMRPQ==","shasum":"43c856d6f0025343b4d5490fa594d39c722c353b","tarball":"https://registry.npmjs.org/@codernr/ngx-mock-component/-/ngx-mock-component-1.1.0.tgz","fileCount":6,"unpackedSize":7679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc95EeCRA9TVsSAnZWagAABCsP/1LQ74Slastb5rlKMt6h\nKrsCvkTZKTWUv9vfAP1AkdfvWH4xf7O2W8tjD5mo+YgWrkuu6v8LoxbsMm4Z\nu9oLSsDNiNsggxSsZ6oi/+Qn4OhNrrUMBjnf1PwDaBtmftnYfuL0jO+9yfTV\n7K9chh8CBAh/+6SM+QNk+DVoXnkIh0LLuc3m4bKqi8EsC57V1e8b9s6jt+wI\nwGvrDFE8PXnKnbmy3OAOe5wlubZu/CvnDioC7fG2m4jUrnS4+xMk2Ng81SNc\nMIdS9v6FZPhHOTm0nGvQqQKfnbkPGD3MFj44FI4o9H9MiVq7ov/KJ8CymrB+\nCRqJ76v2t+ItB2Pp4D8rsM9y6u+KeYVa74iXhK1+sbif52dc25Zvwy57Ey5t\nvcVYZzLyGRbQn4oJ8zb4t9cSGrt4j25rqabLBPljOZCnU+ZP5Jt+O/1PYUnC\ndon7S44iu8k0M86v/xqGunApDCYlod1TiN5YhZ8dzRB6NRaqB0PuNTBye/ey\nLlD1uucoidaZ21kf+RaEO+tO7N99ILyrtxszCptbQqSEXm2G7ZzeenAHjVE6\n9bBrn4XBpN9Iso1RMyK4ElHcXVq2feoQru0+xEmjve9P+BnK0nE6KW1rbM+B\njH7X/8C/CZZekWlncIyIkVvfKvxB0sK0GZGFK68fxssxf8CpWP+QkJdp7k/p\nsY8r\r\n=xJf1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjRVsBc7lZfMvFPJ3d8OZJ5N9lC9xw/O8EU5fSJYdNLwIhAJSAcg17VX+R1abjIe+m3nidvHDLsZT7HIeojCT7HdlV"}]},"maintainers":[{"name":"codernr","email":"zoltan.csore@codernr.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-mock-component_1.1.0_1559728413710_0.9967210599602669"},"_hasShrinkwrap":false},"2.0.0":{"name":"@codernr/ngx-mock-component","version":"2.0.0","description":"Angular utility to mock any component in unit tests","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jasmine-ts --config=jasmine.json","build":"tsc","prepare":"npm run build","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/codernr/ngx-mock-component.git"},"keywords":["angular","unit-test","testing","mock","typescript"],"author":{"name":"Zoltán Csóré"},"license":"MIT","bugs":{"url":"https://github.com/codernr/ngx-mock-component/issues"},"homepage":"https://github.com/codernr/ngx-mock-component#readme","devDependencies":{"@angular/core":"^7.2.15","@types/jasmine":"^3.3.12","@types/node":"^12.0.2","jasmine":"^3.4.0","jasmine-ts":"^0.3.0","rxjs":"^6.5.2","ts-node":"^8.1.0","typescript":"^3.4.5","zone.js":"^0.8.29"},"gitHead":"28cdd2ba2cdaa9cfe8b4573418275dde0e490526","_id":"@codernr/ngx-mock-component@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"codernr","email":"zoltan.csore@codernr.com"},"dist":{"integrity":"sha512-sEfIpV2xaxsWq0JL7gVr2UJfUKRQ+9838KWINKt8c7B+2jtjou72FIyCNtfxA4mb6o8ni6L73x4fu+mzYJDvrw==","shasum":"3cdb91cd2f1e26353d9f80161643b2747a4aa20d","tarball":"https://registry.npmjs.org/@codernr/ngx-mock-component/-/ngx-mock-component-2.0.0.tgz","fileCount":6,"unpackedSize":7404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc98mLCRA9TVsSAnZWagAA0D4P/iCPlkLjD3GujAs6v7a7\nKKmg4X+kbGSp+cL8J9ytKW8WTiHeS/BtxYLhjP2H+5UNbd9NulIPV/x7ac9U\nDa3o09BKUmbWXi5vHWNwuz4qNxtHmW7VQoP6kRptC+fBV4pz6LAM6HqaEy68\nDgPwqYZyd4i/GRp7dl4OhCEebVqHFenktlE1eTM64rXDTW0U37c4QxvXWjdm\nnthSLJ0lmOPmxLYP3MCH+pashhgV6dhn7HkHuXAZHVro8ABCuF4+3NVmJbsw\nNkiLzvS7YODn/EMJCyFnuk6CzqjlSvHOTgkuwcI7bxs4PWoylBv698R861wC\ny8IFR2SuEF3vG1GbSx9K6PAoQtEPjm3XB2csxBTHWv2uH62o7odaSD/J5v3h\noBDo6EBjh7B/tN5Wgn65m0xwRcnOMQALrbVClqYlgh8U8nugow8z+EAHnnGT\n5Zhn/yRkxZt5FY0STMvfEez3XD3po3Qfvh+5DypXEs8UUQvOYx5P5oiWDhDc\nEwRkFkABa1L/aufS2gm+2a/zZnR1+dJtkxfbsqmrj67gBzX/RBVf3KDJPKlA\nDqE3BP1Lw0kV9TbnQJat/x9jHyh1WNiO9fhkOutneVHUZWKt6IEvTDOGi9fR\nJ6+rjd17YmUZ2ZUnrFOmRjBGMOBISSZD5Gi9/XkiJQP56NcBn+6eKFQMGKcq\nY1N7\r\n=il1d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCug1G8o7DKEcyZjZ00k7amalOuV6U1ITJq63n8al9PeAIgZshkaJA1RZBZGA1NwdM5//850sx94jAlowNCj1OLhCE="}]},"maintainers":[{"name":"codernr","email":"zoltan.csore@codernr.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-mock-component_2.0.0_1559742857987_0.1929110313567466"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-23T08:30:30.275Z","1.0.0":"2019-05-23T08:30:30.417Z","modified":"2022-04-05T00:05:30.410Z","1.1.0":"2019-06-05T09:53:33.807Z","2.0.0":"2019-06-05T13:54:18.173Z"},"maintainers":[{"name":"codernr","email":"zoltan.csore@codernr.com"}],"description":"Angular utility to mock any component in unit tests","homepage":"https://github.com/codernr/ngx-mock-component#readme","keywords":["angular","unit-test","testing","mock","typescript"],"repository":{"type":"git","url":"git+https://github.com/codernr/ngx-mock-component.git"},"author":{"name":"Zoltán Csóré"},"bugs":{"url":"https://github.com/codernr/ngx-mock-component/issues"},"license":"MIT","readme":"# ngx-mock-component [![npm version](https://badge.fury.io/js/%40codernr%2Fngx-mock-component.svg)](https://badge.fury.io/js/%40codernr%2Fngx-mock-component)\r\nAngular utility to mock any component in unit tests. Lets you mock any component in `TestBed.configureTestingModule` declarations without creating new mock classes.\r\n\r\n```\r\nnpm i -D @codernr/ngx-mock-component\r\n```\r\n\r\n## Usage\r\n\r\n* `mockComponent(obj: Component, interfaceImplementations: { [key: string]: any }[])`  \r\n    The first parameter is the component metadata (that you normally use in @Component decorator, the second one is an array of objects that mock the interfaces implemented by the component.\r\n\r\n## Example\r\n\r\nReal world example with a component using [ngx-captcha](https://www.npmjs.com/package/ngx-captcha) in its template.\r\n\r\n`app.component.html`\r\n\r\n```html\r\n<div style=\"text-align:center\">\r\n  <h1>\r\n    Welcome!\r\n  </h1>\r\n</div>\r\n<div>\r\n  <form [formGroup]=\"exampleForm\">\r\n    <ngx-recaptcha2 [siteKey]=\"siteKey\" useGlobalDomain=\"false\" formControlName=\"captcha\"></ngx-recaptcha2>\r\n  </form>\r\n</div>\r\n```\r\n\r\n`app.component.ts`\r\n\r\n```typescript\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent  implements OnInit{\r\n\r\n  public siteKey = 'mySiteKey';\r\n\r\n  public exampleForm: FormGroup;\r\n\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  ngOnInit(): void {\r\n    this.exampleForm = this.fb.group({\r\n      captcha: ['', [Validators.required]]\r\n    });\r\n  }\r\n}\r\n```\r\n\r\n`app.component.spec.ts`\r\n\r\n```typescript\r\nimport { TestBed, async } from '@angular/core/testing';\r\nimport { AppComponent } from './app.component';\r\nimport { mockComponent } from '@codernr/ngx-mock-component';\r\nimport { ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\ndescribe('AppComponent', () => {\r\n  beforeEach(async(() => {\r\n    TestBed.configureTestingModule({\r\n      imports: [ReactiveFormsModule],\r\n      declarations: [\r\n        AppComponent,\r\n        mockComponent({\r\n          selector: 'ngx-recaptcha2',\r\n          template: '',\r\n          inputs: ['siteKey', 'useGlobalDomain'],\r\n          providers: [\r\n            {\r\n              provide: NG_VALUE_ACCESSOR,\r\n              // providing ControlValueAccessor interface mock here to avoid using useExisting with anonymous type\r\n              useValue: { writeValue: (obj: any) => { }, registerOnChange: (fn: any) => { }, registerOnTouched: (fn: any) => { } },\r\n              multi: true\r\n            }\r\n          ]\r\n        })\r\n      ],\r\n    }).compileComponents();\r\n  }));\r\n\r\n  it('should create the app', () => {\r\n    const fixture = TestBed.createComponent(AppComponent);\r\n    const app = fixture.debugElement.componentInstance;\r\n    expect(app).toBeTruthy();\r\n  });\r\n\r\n  it('should render title in a h1 tag', () => {\r\n    const fixture = TestBed.createComponent(AppComponent);\r\n    fixture.detectChanges();\r\n    const compiled = fixture.debugElement.nativeElement;\r\n    expect(compiled.querySelector('h1').textContent).toContain('Welcome!');\r\n  });\r\n});\r\n```\r\n","readmeFilename":"README.md"}