Skip to content

Commit 7acb112

Browse files
authored
test(e2e): add route and service scenario (#191)
* test(e2e): add route and service scenario * chore: add comment about why props are overriden * chore: remove a16 e2e app component css
1 parent e047ac8 commit 7acb112

38 files changed

+312
-19
lines changed

.idea/runConfigurations/ngx_meta_e2e__meta_set_by_route_and_service.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

projects/ngx-meta/e2e/a15/src/app/app-routing.module.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { NgModule } from '@angular/core'
22
import { RouterModule, Routes } from '@angular/router'
3-
import { MetadataRouteData } from '@davidlj95/ngx-meta/routing'
4-
import * as METADATA from '../../../cypress/fixtures/metadata.json'
53
import { ROUTES } from '../../../cypress/fixtures/routes'
64
import { MetaSetByServiceComponent } from './meta-set-by-service/meta-set-by-service.component'
75
import { MetaSetByRouteComponent } from './meta-set-by-route/meta-set-by-route.component'
6+
import { MetadataRouteData } from '@davidlj95/ngx-meta/routing'
7+
import * as METADATA from '../../../cypress/fixtures/metadata.json'
8+
import { MetaSetByRouteAndServiceComponent } from './meta-set-by-route-and-service/meta-set-by-route-and-service.component'
89

910
const metadataRouteData: MetadataRouteData = { meta: METADATA }
1011

@@ -18,6 +19,11 @@ const routes: Routes = [
1819
component: MetaSetByRouteComponent,
1920
data: metadataRouteData,
2021
},
22+
{
23+
path: ROUTES.metaSetByRouteAndService.path,
24+
component: MetaSetByRouteAndServiceComponent,
25+
data: metadataRouteData,
26+
},
2127
]
2228

2329
@NgModule({

projects/ngx-meta/e2e/a15/src/app/app.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a15/src/app/app.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { ROUTES } from '../../../cypress/fixtures/routes'
44
@Component({
55
selector: 'app-root',
66
templateUrl: './app.component.html',
7-
styleUrls: ['./app.component.css'],
87
})
98
export class AppComponent {
109
title = 'a15'

projects/ngx-meta/e2e/a15/src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { AppRoutingModule } from './app-routing.module'
55
import { AppComponent } from './app.component'
66
import { MetaSetByServiceComponent } from './meta-set-by-service/meta-set-by-service.component'
77
import { MetaSetByRouteComponent } from './meta-set-by-route/meta-set-by-route.component'
8+
import { MetaSetByRouteAndServiceComponent } from './meta-set-by-route-and-service/meta-set-by-route-and-service.component'
89
import { JsonPipe, NgForOf } from '@angular/common'
910
import { RouterOutlet } from '@angular/router'
1011
import { NgxMetaCoreModule } from '@davidlj95/ngx-meta/core'
@@ -21,6 +22,7 @@ import { NgxMetaJsonLdModule } from '@davidlj95/ngx-meta/json-ld'
2122
AppComponent,
2223
MetaSetByServiceComponent,
2324
MetaSetByRouteComponent,
25+
MetaSetByRouteAndServiceComponent,
2426
],
2527
imports: [
2628
BrowserModule,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Metadata of this page has been set by providing route data:
2+
3+
<pre>{{ routeData | json }}</pre>
4+
5+
And then overridden using <code>NgxMeta</code>'s <code>MetadataService</code>
6+
service on page's component initialisation
7+
8+
<pre>
9+
metadataService.set({{ overriddenMetadata | json }})
10+
</pre>
11+
12+
Check the <code>&lt;head&gt;</code> HTML element of this page to see the results
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { Component, OnInit } from '@angular/core'
2+
import { MetadataService, MetadataValues } from '@davidlj95/ngx-meta/core'
3+
import { ActivatedRoute } from '@angular/router'
4+
import {
5+
OpenGraphMetadata,
6+
OpenGraphType,
7+
} from '@davidlj95/ngx-meta/open-graph'
8+
import {
9+
TwitterCardMetadata,
10+
TwitterCardType,
11+
} from '@davidlj95/ngx-meta/twitter-card'
12+
import {
13+
OpenGraphProfileGender,
14+
OpenGraphProfileMetadata,
15+
} from '@davidlj95/ngx-meta/open-graph-profile'
16+
17+
@Component({
18+
selector: 'app-meta-set-by-route-and-service',
19+
templateUrl: './meta-set-by-route-and-service.component.html',
20+
})
21+
export class MetaSetByRouteAndServiceComponent implements OnInit {
22+
protected readonly routeData: unknown
23+
protected readonly overriddenMetadata: OpenGraphMetadata &
24+
OpenGraphProfileMetadata &
25+
TwitterCardMetadata = {
26+
openGraph: {
27+
type: OpenGraphType.Book,
28+
profile: {
29+
gender: OpenGraphProfileGender.Female,
30+
},
31+
},
32+
twitterCard: {
33+
card: TwitterCardType.SummaryLargeImage,
34+
},
35+
}
36+
37+
constructor(
38+
activatedRoute: ActivatedRoute,
39+
private readonly metadataService: MetadataService,
40+
) {
41+
this.routeData = activatedRoute.snapshot.data
42+
}
43+
44+
ngOnInit(): void {
45+
this.metadataService.set(
46+
this.overriddenMetadata as unknown as MetadataValues,
47+
)
48+
}
49+
}

projects/ngx-meta/e2e/a15/src/app/meta-set-by-route/meta-set-by-route.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a15/src/app/meta-set-by-route/meta-set-by-route.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { ActivatedRoute } from '@angular/router'
44
@Component({
55
selector: 'app-meta-set-by-route',
66
templateUrl: './meta-set-by-route.component.html',
7-
styleUrls: ['./meta-set-by-route.component.css'],
87
})
98
export class MetaSetByRouteComponent {
109
protected readonly routeData: unknown

projects/ngx-meta/e2e/a15/src/app/meta-set-by-service/meta-set-by-service.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a15/src/app/meta-set-by-service/meta-set-by-service.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { MetadataService } from '@davidlj95/ngx-meta/core'
55
@Component({
66
selector: 'app-meta-set-by-service',
77
templateUrl: './meta-set-by-service.component.html',
8-
styleUrls: ['./meta-set-by-service.component.css'],
98
})
109
export class MetaSetByServiceComponent implements OnInit, OnDestroy {
1110
protected readonly metadata = METADATA

projects/ngx-meta/e2e/a16/src/app/app-routing.module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { RouterModule, Routes } from '@angular/router'
33
import { ROUTES } from '../../../cypress/fixtures/routes'
44
import { MetaSetByServiceComponent } from './meta-set-by-service/meta-set-by-service.component'
55
import { MetaSetByRouteComponent } from './meta-set-by-route/meta-set-by-route.component'
6+
import { MetaSetByRouteAndServiceComponent } from './meta-set-by-route-and-service/meta-set-by-route-and-service.component'
67
import { MetadataRouteData } from '@davidlj95/ngx-meta/routing'
78
import * as METADATA from '../../../cypress/fixtures/metadata.json'
89

@@ -18,6 +19,11 @@ const routes: Routes = [
1819
component: MetaSetByRouteComponent,
1920
data: metadataRouteData,
2021
},
22+
{
23+
path: ROUTES.metaSetByRouteAndService.path,
24+
component: MetaSetByRouteAndServiceComponent,
25+
data: metadataRouteData,
26+
},
2127
]
2228

2329
@NgModule({

projects/ngx-meta/e2e/a16/src/app/app.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a16/src/app/app.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { ROUTES } from '../../../cypress/fixtures/routes'
44
@Component({
55
selector: 'app-root',
66
templateUrl: './app.component.html',
7-
styleUrls: ['./app.component.css'],
87
})
98
export class AppComponent {
109
title = 'a16'

projects/ngx-meta/e2e/a16/src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { JsonPipe, NgForOf } from '@angular/common'
77
import { RouterOutlet } from '@angular/router'
88
import { MetaSetByServiceComponent } from './meta-set-by-service/meta-set-by-service.component'
99
import { MetaSetByRouteComponent } from './meta-set-by-route/meta-set-by-route.component'
10+
import { MetaSetByRouteAndServiceComponent } from './meta-set-by-route-and-service/meta-set-by-route-and-service.component'
1011
import { NgxMetaCoreModule } from '@davidlj95/ngx-meta/core'
1112
import * as DEFAULTS from '../../../cypress/fixtures/defaults.json'
1213
import { NgxMetaRoutingModule } from '@davidlj95/ngx-meta/routing'
@@ -21,6 +22,7 @@ import { NgxMetaJsonLdModule } from '@davidlj95/ngx-meta/json-ld'
2122
AppComponent,
2223
MetaSetByServiceComponent,
2324
MetaSetByRouteComponent,
25+
MetaSetByRouteAndServiceComponent,
2426
],
2527
imports: [
2628
BrowserModule,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Metadata of this page has been set by providing route data:
2+
3+
<pre>{{ routeData | json }}</pre>
4+
5+
And then overridden using <code>NgxMeta</code>'s <code>MetadataService</code>
6+
service on page's component initialisation
7+
8+
<pre>
9+
metadataService.set({{ overriddenMetadata | json }})
10+
</pre>
11+
12+
Check the <code>&lt;head&gt;</code> HTML element of this page to see the results
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { Component, OnInit } from '@angular/core'
2+
import { MetadataService, MetadataValues } from '@davidlj95/ngx-meta/core'
3+
import { ActivatedRoute } from '@angular/router'
4+
import {
5+
OpenGraphMetadata,
6+
OpenGraphType,
7+
} from '@davidlj95/ngx-meta/open-graph'
8+
import {
9+
TwitterCardMetadata,
10+
TwitterCardType,
11+
} from '@davidlj95/ngx-meta/twitter-card'
12+
import {
13+
OpenGraphProfileGender,
14+
OpenGraphProfileMetadata,
15+
} from '@davidlj95/ngx-meta/open-graph-profile'
16+
17+
@Component({
18+
selector: 'app-meta-set-by-route-and-service',
19+
templateUrl: './meta-set-by-route-and-service.component.html',
20+
})
21+
export class MetaSetByRouteAndServiceComponent implements OnInit {
22+
protected readonly routeData: unknown
23+
protected readonly overriddenMetadata: OpenGraphMetadata &
24+
OpenGraphProfileMetadata &
25+
TwitterCardMetadata = {
26+
openGraph: {
27+
type: OpenGraphType.Book,
28+
profile: {
29+
gender: OpenGraphProfileGender.Female,
30+
},
31+
},
32+
twitterCard: {
33+
card: TwitterCardType.SummaryLargeImage,
34+
},
35+
}
36+
37+
constructor(
38+
activatedRoute: ActivatedRoute,
39+
private readonly metadataService: MetadataService,
40+
) {
41+
this.routeData = activatedRoute.snapshot.data
42+
}
43+
44+
ngOnInit(): void {
45+
this.metadataService.set(
46+
this.overriddenMetadata as unknown as MetadataValues,
47+
)
48+
}
49+
}

projects/ngx-meta/e2e/a16/src/app/meta-set-by-route/meta-set-by-route.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a16/src/app/meta-set-by-route/meta-set-by-route.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { ActivatedRoute } from '@angular/router'
44
@Component({
55
selector: 'app-meta-set-by-route',
66
templateUrl: './meta-set-by-route.component.html',
7-
styleUrls: ['./meta-set-by-route.component.css'],
87
})
98
export class MetaSetByRouteComponent {
109
protected readonly routeData: unknown

projects/ngx-meta/e2e/a16/src/app/meta-set-by-service/meta-set-by-service.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a16/src/app/meta-set-by-service/meta-set-by-service.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { MetadataService } from '@davidlj95/ngx-meta/core'
55
@Component({
66
selector: 'app-meta-set-by-service',
77
templateUrl: './meta-set-by-service.component.html',
8-
styleUrls: ['./meta-set-by-service.component.css'],
98
})
109
export class MetaSetByServiceComponent implements OnInit, OnDestroy {
1110
protected readonly metadata = METADATA

projects/ngx-meta/e2e/a17/src/app/app.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a17/src/app/app.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { ROUTES } from '../../../cypress/fixtures/routes'
88
standalone: true,
99
imports: [CommonModule, RouterOutlet, RouterLink],
1010
templateUrl: './app.component.html',
11-
styleUrl: './app.component.css',
1211
})
1312
export class AppComponent {
1413
title = 'a17'

projects/ngx-meta/e2e/a17/src/app/app.routes.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ROUTES } from '../../../cypress/fixtures/routes'
44
import { MetaSetByRouteComponent } from './meta-set-by-route/meta-set-by-route.component'
55
import { MetadataRouteData } from '@davidlj95/ngx-meta/routing'
66
import METADATA from '../../../cypress/fixtures/metadata.json'
7+
import { MetaSetByRouteAndServiceComponent } from './meta-set-by-route-and-service/meta-set-by-route-and-service.component'
78

89
const metadataRouteData: MetadataRouteData = { meta: METADATA }
910

@@ -17,4 +18,9 @@ export const routes: Routes = [
1718
component: MetaSetByRouteComponent,
1819
data: metadataRouteData,
1920
},
21+
{
22+
path: ROUTES.metaSetByRouteAndService.path,
23+
component: MetaSetByRouteAndServiceComponent,
24+
data: metadataRouteData,
25+
},
2026
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Metadata of this page has been set by providing route data:
2+
3+
<pre>{{ routeData | json }}</pre>
4+
5+
And then overridden using <code>NgxMeta</code>'s <code>MetadataService</code>
6+
service on page's component initialisation
7+
8+
<pre>
9+
metadataService.set({{ overriddenMetadata | json }})
10+
</pre>
11+
12+
Check the <code>&lt;head&gt;</code> HTML element of this page to see the results
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { Component, OnInit } from '@angular/core'
2+
import { MetadataService, MetadataValues } from '@davidlj95/ngx-meta/core'
3+
import { JsonPipe } from '@angular/common'
4+
import { ActivatedRoute } from '@angular/router'
5+
import {
6+
OpenGraphMetadata,
7+
OpenGraphType,
8+
} from '@davidlj95/ngx-meta/open-graph'
9+
import {
10+
TwitterCardMetadata,
11+
TwitterCardType,
12+
} from '@davidlj95/ngx-meta/twitter-card'
13+
import {
14+
OpenGraphProfileGender,
15+
OpenGraphProfileMetadata,
16+
} from '@davidlj95/ngx-meta/open-graph-profile'
17+
18+
@Component({
19+
selector: 'app-meta-set-by-route-and-service',
20+
standalone: true,
21+
templateUrl: './meta-set-by-route-and-service.component.html',
22+
imports: [JsonPipe],
23+
})
24+
export class MetaSetByRouteAndServiceComponent implements OnInit {
25+
protected readonly routeData: unknown
26+
protected readonly overriddenMetadata: OpenGraphMetadata &
27+
OpenGraphProfileMetadata &
28+
TwitterCardMetadata = {
29+
openGraph: {
30+
type: OpenGraphType.Book, // using enums to watch bundle size increase
31+
profile: {
32+
gender: OpenGraphProfileGender.Female,
33+
},
34+
},
35+
twitterCard: {
36+
card: TwitterCardType.SummaryLargeImage,
37+
},
38+
}
39+
40+
constructor(
41+
activatedRoute: ActivatedRoute,
42+
private readonly metadataService: MetadataService,
43+
) {
44+
this.routeData = activatedRoute.snapshot.data
45+
}
46+
47+
ngOnInit(): void {
48+
this.metadataService.set(
49+
this.overriddenMetadata as unknown as MetadataValues,
50+
)
51+
}
52+
}

projects/ngx-meta/e2e/a17/src/app/meta-set-by-route/meta-set-by-route.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a17/src/app/meta-set-by-route/meta-set-by-route.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { JsonPipe } from '@angular/common'
77
standalone: true,
88
imports: [JsonPipe],
99
templateUrl: './meta-set-by-route.component.html',
10-
styleUrl: './meta-set-by-route.component.css',
1110
})
1211
export class MetaSetByRouteComponent {
1312
protected readonly routeData: unknown

projects/ngx-meta/e2e/a17/src/app/meta-set-by-service/meta-set-by-service.component.css

Whitespace-only changes.

projects/ngx-meta/e2e/a17/src/app/meta-set-by-service/meta-set-by-service.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { JsonPipe } from '@angular/common'
77
selector: 'app-meta-set-by-service',
88
standalone: true,
99
templateUrl: './meta-set-by-service.component.html',
10-
styleUrl: './meta-set-by-service.component.css',
1110
imports: [JsonPipe],
1211
})
1312
export class MetaSetByServiceComponent implements OnInit, OnDestroy {

0 commit comments

Comments
 (0)