diff --git a/src/app/app.html b/src/app/app.html
index 90c6b64..35353d5 100644
--- a/src/app/app.html
+++ b/src/app/app.html
@@ -1 +1,4 @@
+@if(this.showNotification()) {
+
+}
\ No newline at end of file
diff --git a/src/app/app.spec.ts b/src/app/app.spec.ts
index d7c96e4..503ff41 100644
--- a/src/app/app.spec.ts
+++ b/src/app/app.spec.ts
@@ -2,19 +2,29 @@ import { TestBed } from '@angular/core/testing';
import { App } from './app';
import { strings } from './strings';
import { STRINGS_INJECTOR } from './app.config';
+import { Notifier } from './services/notifier';
+import { signal } from '@angular/core';
describe('App', () => {
+ let notifier: jasmine.SpyObj;
+
beforeEach(async () => {
+ notifier = jasmine.createSpyObj(Notifier.name, [], {
+ notification$: signal(null),
+ });
await TestBed.configureTestingModule({
imports: [App],
- providers: [{ provide: STRINGS_INJECTOR, useValue: strings }],
+ providers: [
+ { provide: STRINGS_INJECTOR, useValue: strings },
+ { provide: Notifier, useValue: notifier },
+ ],
}).compileComponents();
});
it('should create the app', () => {
const fixture = TestBed.createComponent(App);
const app = fixture.componentInstance;
+ TestBed.tick();
expect(app).toBeTruthy();
});
-
});
diff --git a/src/app/app.ts b/src/app/app.ts
index f068902..7e52f4b 100644
--- a/src/app/app.ts
+++ b/src/app/app.ts
@@ -1,11 +1,15 @@
-import { Component } from '@angular/core';
+import { Component, inject } from '@angular/core';
import { RouterOutlet } from '@angular/router';
+import { Notification } from './components/notification/notification';
+import { Notifier } from './services/notifier';
+import { computed } from '@angular/core';
@Component({
selector: 'app-root',
- imports: [RouterOutlet],
+ imports: [RouterOutlet, Notification],
templateUrl: './app.html',
styleUrl: './app.scss',
})
export class App {
-
+ private readonly notifier = inject(Notifier);
+ showNotification = computed(() => this.notifier.notification$() !== null);
}