Refactor to django-messages.service

This commit is contained in:
shamoon 2024-01-05 11:19:11 -08:00 committed by Moritz Pflanzer
parent 93750663aa
commit db00e9efac
4 changed files with 20 additions and 19 deletions

View File

@ -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)

View File

@ -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:

View File

@ -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

View File

@ -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'] ?? []
}
}