From db00e9efac200d9c404a33ffc6ce9e99f9e41f9c Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 5 Jan 2024 11:19:11 -0800 Subject: [PATCH] Refactor to django-messages.service --- .../app-frame/app-frame.component.spec.ts | 8 ++++---- .../components/app-frame/app-frame.component.ts | 10 +++++----- ....spec.ts => django-messages.service.spec.ts} | 17 +++++++++-------- ...es.service.ts => django-messages.service.ts} | 4 ++-- 4 files changed, 20 insertions(+), 19 deletions(-) rename src-ui/src/app/services/{messages.service.spec.ts => django-messages.service.spec.ts} (56%) rename src-ui/src/app/services/{messages.service.ts => django-messages.service.ts} (80%) diff --git a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts index 9311aec96..5c870fe57 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts @@ -23,7 +23,7 @@ import { of, throwError } from 'rxjs' import { ToastService } from 'src/app/services/toast.service' import { DjangoMessageLevel, - MessagesService, + DjangoMessagesService, } from 'src/app/services/messages.service' import { environment } from 'src/environments/environment' import { OpenDocumentsService } from 'src/app/services/open-documents.service' @@ -87,7 +87,7 @@ describe('AppFrameComponent', () => { let permissionsService: PermissionsService let remoteVersionService: RemoteVersionService let toastService: ToastService - let messagesService: MessagesService + let messagesService: DjangoMessagesService let openDocumentsService: OpenDocumentsService let searchService: SearchService let documentListViewService: DocumentListViewService @@ -128,7 +128,7 @@ describe('AppFrameComponent', () => { RemoteVersionService, IfPermissionsDirective, ToastService, - MessagesService, + DjangoMessagesService, OpenDocumentsService, SearchService, NgbModal, @@ -157,7 +157,7 @@ describe('AppFrameComponent', () => { permissionsService = TestBed.inject(PermissionsService) remoteVersionService = TestBed.inject(RemoteVersionService) toastService = TestBed.inject(ToastService) - messagesService = TestBed.inject(MessagesService) + messagesService = TestBed.inject(DjangoMessagesService) openDocumentsService = TestBed.inject(OpenDocumentsService) searchService = TestBed.inject(SearchService) documentListViewService = TestBed.inject(DocumentListViewService) diff --git a/src-ui/src/app/components/app-frame/app-frame.component.ts b/src-ui/src/app/components/app-frame/app-frame.component.ts index cb8d6bf4c..ab9322380 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.ts @@ -14,8 +14,8 @@ import { Document } from 'src/app/data/document' import { OpenDocumentsService } from 'src/app/services/open-documents.service' import { DjangoMessageLevel, - MessagesService, -} from 'src/app/services/messages.service' + DjangoMessagesService, +} from 'src/app/services/django-messages.service' import { SavedViewService } from 'src/app/services/rest/saved-view.service' import { SearchService } from 'src/app/services/rest/search.service' import { environment } from 'src/environments/environment' @@ -77,8 +77,8 @@ export class AppFrameComponent public tasksService: TasksService, private readonly toastService: ToastService, private modalService: NgbModal, - permissionsService: PermissionsService, - private messagesService: MessagesService + public permissionsService: PermissionsService, + private djangoMessagesService: DjangoMessagesService ) { super() @@ -98,7 +98,7 @@ export class AppFrameComponent } this.tasksService.reload() - this.messagesService.get().forEach((message) => { + this.djangoMessagesService.get().forEach((message) => { switch (message.level) { case DjangoMessageLevel.ERROR: case DjangoMessageLevel.WARNING: diff --git a/src-ui/src/app/services/messages.service.spec.ts b/src-ui/src/app/services/django-messages.service.spec.ts similarity index 56% rename from src-ui/src/app/services/messages.service.spec.ts rename to src-ui/src/app/services/django-messages.service.spec.ts index 0e9a3337b..5e95f32f4 100644 --- a/src-ui/src/app/services/messages.service.spec.ts +++ b/src-ui/src/app/services/django-messages.service.spec.ts @@ -1,26 +1,27 @@ import { TestBed } from '@angular/core/testing' -import { DjangoMessageLevel, MessagesService } from './messages.service' - -import { environment } from 'src/environments/environment' +import { + DjangoMessageLevel, + DjangoMessagesService, +} from './django-messages.service' const messages = [ { level: DjangoMessageLevel.ERROR, message: 'Error Message' }, { level: DjangoMessageLevel.INFO, message: 'Info Message' }, ] -describe('MessagesService', () => { - let service: MessagesService +describe('DjangoMessagesService', () => { + let service: DjangoMessagesService beforeEach(() => { window['DJANGO_MESSAGES'] = messages TestBed.configureTestingModule({ - providers: [MessagesService], + providers: [DjangoMessagesService], }) - service = TestBed.inject(MessagesService) + service = TestBed.inject(DjangoMessagesService) }) - it('calls retrieves global django messages if present', () => { + it('should retrieve global django messages if present', () => { expect(service.get()).toEqual(messages) window['DJANGO_MESSAGES'] = undefined diff --git a/src-ui/src/app/services/messages.service.ts b/src-ui/src/app/services/django-messages.service.ts similarity index 80% rename from src-ui/src/app/services/messages.service.ts rename to src-ui/src/app/services/django-messages.service.ts index 89548b96c..fddbe881a 100644 --- a/src-ui/src/app/services/messages.service.ts +++ b/src-ui/src/app/services/django-messages.service.ts @@ -17,11 +17,11 @@ export interface DjangoMessage { @Injectable({ providedIn: 'root', }) -export class MessagesService { +export class DjangoMessagesService { constructor() {} get(): DjangoMessage[] { - // These are embedded in the HTML as raw JS, kept as a service for convenience + // These are embedded in the HTML as raw JS, the service is for convenience return window['DJANGO_MESSAGES'] ?? [] } }