Skip to content

Commit

Permalink
fix(material/card): remove card deps on legacy-card
Browse files Browse the repository at this point in the history
  • Loading branch information
mmalerba committed Sep 8, 2022
1 parent c753209 commit 1ade334
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 32 deletions.
15 changes: 14 additions & 1 deletion src/material/card/testing/BUILD.bazel
Expand Up @@ -25,12 +25,13 @@ ng_test_library(
["**/*.spec.ts"],
exclude = [
"**/*.e2e.spec.ts",
"shared.spec.ts",
],
),
deps = [
":harness_tests_lib",
":testing",
"//src/material/card",
"//src/material/legacy-card/testing:harness_tests_lib",
],
)

Expand All @@ -57,3 +58,15 @@ e2e_test_suite(
"//src/cdk/testing/private/e2e",
],
)

ng_test_library(
name = "harness_tests_lib",
srcs = ["shared.spec.ts"],
deps = [
":testing",
"//src/cdk/testing",
"//src/cdk/testing/testbed",
"//src/material/card",
"@npm//@angular/platform-browser",
],
)
2 changes: 1 addition & 1 deletion src/material/card/testing/card-harness.spec.ts
@@ -1,5 +1,5 @@
import {MatCardModule} from '@angular/material/card';
import {runHarnessTests} from '@angular/material/legacy-card/testing/shared.spec';
import {runHarnessTests} from './shared.spec';
import {MatCardHarness, MatCardSection} from './card-harness';

describe('MDC-based MatCardHarness', () => {
Expand Down
Expand Up @@ -2,16 +2,13 @@ import {ComponentHarness, HarnessLoader, parallel} from '@angular/cdk/testing';
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
import {Component} from '@angular/core';
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {MatLegacyCardModule} from '@angular/material/legacy-card';
import {
MatLegacyCardHarness,
MatLegacyCardSection,
} from '@angular/material/legacy-card/testing/card-harness';
import {MatCardModule} from '@angular/material/card';
import {MatCardHarness, MatCardSection} from '@angular/material/card/testing';

/** Shared tests to run on both the original and MDC-based cards. */
export function runHarnessTests(
cardModule: typeof MatLegacyCardModule,
cardHarness: typeof MatLegacyCardHarness,
cardModule: typeof MatCardModule,
cardHarness: typeof MatCardHarness,
contentSelectors: {header: string; content: string; actions: string; footer: string},
) {
let fixture: ComponentFixture<CardHarnessTest>;
Expand Down Expand Up @@ -73,32 +70,28 @@ export function runHarnessTests(

it('should get a harness loader for the card header', async () => {
const card = await loader.getHarness(cardHarness.with({title: 'Shiba Inu'}));
const headerLoader = await card.getChildLoader(contentSelectors.header as MatLegacyCardSection);
const headerLoader = await card.getChildLoader(contentSelectors.header as MatCardSection);
const headerSubcomponents = (await headerLoader?.getAllHarnesses(DummyHarness)) ?? [];
expect(headerSubcomponents.length).toBe(2);
});

it('should get a harness loader for the card content', async () => {
const card = await loader.getHarness(cardHarness.with({title: 'Shiba Inu'}));
const contentLoader = await card.getChildLoader(
contentSelectors.content as MatLegacyCardSection,
);
const contentLoader = await card.getChildLoader(contentSelectors.content as MatCardSection);
const contentSubcomponents = (await contentLoader?.getAllHarnesses(DummyHarness)) ?? [];
expect(contentSubcomponents.length).toBe(1);
});

it('should get a harness loader for the card actions', async () => {
const card = await loader.getHarness(cardHarness.with({title: 'Shiba Inu'}));
const actionLoader = await card.getChildLoader(
contentSelectors.actions as MatLegacyCardSection,
);
const actionLoader = await card.getChildLoader(contentSelectors.actions as MatCardSection);
const actionSubcomponents = (await actionLoader?.getAllHarnesses(DummyHarness)) ?? [];
expect(actionSubcomponents.length).toBe(2);
});

it('should get a harness loader for the card footer', async () => {
const card = await loader.getHarness(cardHarness.with({title: 'Shiba Inu'}));
const footerLoader = await card.getChildLoader(contentSelectors.footer as MatLegacyCardSection);
const footerLoader = await card.getChildLoader(contentSelectors.footer as MatCardSection);
const footerSubcomponents = (await footerLoader?.getAllHarnesses(DummyHarness)) ?? [];
expect(footerSubcomponents.length).toBe(1);
});
Expand Down
14 changes: 1 addition & 13 deletions src/material/legacy-card/testing/BUILD.bazel
Expand Up @@ -18,18 +18,6 @@ filegroup(
srcs = glob(["**/*.ts"]),
)

ng_test_library(
name = "harness_tests_lib",
srcs = ["shared.spec.ts"],
deps = [
":testing",
"//src/cdk/testing",
"//src/cdk/testing/testbed",
"//src/material/legacy-card",
"@npm//@angular/platform-browser",
],
)

ng_test_library(
name = "unit_tests_lib",
srcs = glob(
Expand All @@ -39,8 +27,8 @@ ng_test_library(
],
),
deps = [
":harness_tests_lib",
":testing",
"//src/material/card/testing:harness_tests_lib",
"//src/material/legacy-card",
],
)
Expand Down
4 changes: 2 additions & 2 deletions src/material/legacy-card/testing/card-harness.spec.ts
@@ -1,9 +1,9 @@
import {MatLegacyCardModule} from '@angular/material/legacy-card';
import {runHarnessTests} from '@angular/material/legacy-card/testing/shared.spec';
import {runHarnessTests} from '@angular/material/card/testing/shared.spec';
import {MatLegacyCardHarness, MatLegacyCardSection} from './card-harness';

describe('Non-MDC-based MatCardHarness', () => {
runHarnessTests(MatLegacyCardModule, MatLegacyCardHarness, {
runHarnessTests(MatLegacyCardModule, MatLegacyCardHarness as any, {
header: MatLegacyCardSection.HEADER,
content: MatLegacyCardSection.CONTENT,
actions: MatLegacyCardSection.ACTIONS,
Expand Down

0 comments on commit 1ade334

Please sign in to comment.