feat: Implement NotifyPanelComponent with unit tests and mock API service
- Added NotifyPanelComponent for managing notification channels and rules. - Implemented reactive forms for channel and rule management. - Created unit tests for NotifyPanelComponent to validate functionality. - Developed MockNotifyApiService to simulate API interactions for testing. - Added mock data for channels, rules, and deliveries to facilitate testing. - Introduced RuntimeEventFactoryTests to ensure correct event creation with build ID.
This commit is contained in:
		@@ -147,15 +147,27 @@ If you paste YAML but enable **Strict Mode** (toggle), backend converts to Rego
 | 
			
		||||
 | 
			
		||||
Lists discovered UI plugins; each can inject routes/panels. Toggle on/off without reload.
 | 
			
		||||
 | 
			
		||||
### 3.6 Settings → **Quota & Tokens** (new)
 | 
			
		||||
 | 
			
		||||
* View current **Client‑JWT claims** (tier, maxScansPerDay, expiry).  
 | 
			
		||||
* **Generate Offline Token** – admin‑only button → POST `/token/offline` (UI wraps the API).  
 | 
			
		||||
* Upload new token file for manual refresh.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## 4 i18n & l10n
 | 
			
		||||
### 3.6 Settings → **Quota & Tokens** (new)
 | 
			
		||||
 | 
			
		||||
* View current **Client‑JWT claims** (tier, maxScansPerDay, expiry).  
 | 
			
		||||
* **Generate Offline Token** – admin‑only button → POST `/token/offline` (UI wraps the API).  
 | 
			
		||||
* Upload new token file for manual refresh.
 | 
			
		||||
 | 
			
		||||
### 3.7 Notifications Panel (new)
 | 
			
		||||
 | 
			
		||||
Route: **`/notify`** (header shortcut “Notify”). The panel now exposes every Notify control-plane primitive without depending on the backend being online.
 | 
			
		||||
 | 
			
		||||
| Area | What you can do |
 | 
			
		||||
| --- | --- |
 | 
			
		||||
| **Channels** | Create/edit Slack/Teams/Email/Webhook channels, toggle enablement, maintain labels/metadata, and execute **test send** previews. Channel health cards show mocked status + trace IDs so ops can validate wiring before Notify.WebService is reachable. |
 | 
			
		||||
| **Rules** | Manage routing rules (matchers, severity gates, throttles/digests, locale hints). A single-action form keeps Signal-style configuration quick while mirroring Notify schema (`match`, `actions[]`). |
 | 
			
		||||
| **Deliveries** | Browsable ledger with status filter (All/Sent/Failed/Throttled/…), showing targets, kinds, and timestamps so operators confirm noise controls. |
 | 
			
		||||
 | 
			
		||||
The component leans on the mocked Notify API service in `src/app/testing/mock-notify-api.service.ts`, meaning Offline Kit demos run instantly yet the view stays API-shaped (same DTOs + tenant header expectations).
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## 4 i18n & l10n
 | 
			
		||||
 | 
			
		||||
* JSON files under `/locales`.  
 | 
			
		||||
* Russian (`ru`) ships first‑class, translated security terms align with **GOST R ISO/IEC 27002‑2020**.  
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user