Trying to run some tests. On one component that is strictly just HTML, my tests work fine. I am now working on a component that uses an Api service on the page. However, I am running a simple test case to read HTML on the page first before I begin writing tests for the rest of the component.
My current issue is that whenever I run a test on my current component, it returns:
NullInjectorError: R3InjectorError(DynamicTestModule)
[ApiCallService -> HttpClient -> HttpClient]: NullInjectorError: No provider for HttpClient!
I have imported the HttpClient and HttpClientModule into app.module.ts. I have also imported it into the module that all the pages are running on for the application, and have also imported the HttpClientModule into the TestBedConfiguration itself on the spec.ts file of the component. I have tried using HttpClientTestingModule as well, but the exact same error keeps getting thrown.
The test case that I am trying to run is:
it('test', () => {
const fixture = TestBed.createComponent(HomeComponent);
fixture.detectChanges();
const compiled = fixture.nativeElement as HTMLElement;
expect(compiled.querySelector('p')?.textContent).toContain('Test');
});
Runs perfectly on another component, but not this one. If someone could point me in the right direction, that would be great. Had a few calls with my mentor, and they can't seem to figure it out, either.