Inert double for <mj-empty-state> (MJEmptyStateComponent in
@memberjunction/ng-ui-components), mirroring its full public API
(Icon/Title/Message/ActionText/ActionIcon/ActionVariant/Variant/Size/Role inputs + the
Action output).
Template hooks for assertions:
.stub-empty / .stub-empty-title — trimmed text content equals Title
.stub-empty-action — a clickable button showing ActionText, rendered only when
ActionText is non-empty; clicking it emits Action (like the real CTA button)
projected content passes through <ng-content>
Variant/Size/ActionVariant are typed as plain string (real component uses
literal unions) to keep the stub permissive.
Inert double for
<mj-empty-state>(MJEmptyStateComponentin@memberjunction/ng-ui-components), mirroring its full public API (Icon/Title/Message/ActionText/ActionIcon/ActionVariant/Variant/Size/Role inputs + theActionoutput).Template hooks for assertions:
.stub-empty/.stub-empty-title— trimmed text content equalsTitle.stub-empty-action— a clickable button showingActionText, rendered only whenActionTextis non-empty; clicking it emitsAction(like the real CTA button)<ng-content>Variant/Size/ActionVariantare typed as plainstring(real component uses literal unions) to keep the stub permissive.