Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: fixture.getDeferBlocks() returns no defer blocks if we want to use any ng-mocks mock inside the test #7742

Open
edekovacsgalambos opened this issue Dec 13, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@edekovacsgalambos
Copy link

Description of the bug

There a problem when trying to use ng-mocks in test which would like to use tools for new @defer block testing,
the problem is:
fixture.getDeferBlocks();
will return no defer blocks if we have any ng-mocks mock inside the test.

An example of the bug

Here is minimalistic example to reproduce

angular-jest-defer-ng-mock.zip

check test-defer.component.spec.ts in the example project

if we comment out .overrideComponent(...) from component ts file and <test-child-defer /> line from template, the test will pass.

Expected vs actual behavior

Mocking components with ng-mock has no effect on fixture.getDeferBlocks() functioning, it will return defer block correctly.

@edekovacsgalambos edekovacsgalambos added the bug Something isn't working label Dec 13, 2023
@csaszika
Copy link

csaszika commented Jan 28, 2024

While we are waiting for the solution, this is my workaround:

.overrideComponent(TestDeferChildComponent, {
        set: {
          template: '<div>TestDeferChildComponent</div>',
        },
      })

The inputs and other meta configuration will be the same.
Injected services into child component will be resolved by TestBed.
Not perfect because MockComponent(TestDeferChildComponent) would be nicer and shorter, but for now, it works.
However it won't hide dependencies of the child.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants