From 6b6c312654605c926f31eaf71e9170c628b8f49b Mon Sep 17 00:00:00 2001 From: Mohamed Mohamed Date: Mon, 18 Mar 2024 09:18:28 -0400 Subject: [PATCH] GROUP-89 Added completion support to asynchronousRequest.mediator.ts --- src/app/groups/wrapper/groups.component.ts | 14 ----- .../asyncRequestStatus.service.ts | 1 + .../asynchronousRequest.mediator.spec.ts | 51 ++++++++++--------- 3 files changed, 27 insertions(+), 39 deletions(-) diff --git a/src/app/groups/wrapper/groups.component.ts b/src/app/groups/wrapper/groups.component.ts index c9fb4b0..a568485 100644 --- a/src/app/groups/wrapper/groups.component.ts +++ b/src/app/groups/wrapper/groups.component.ts @@ -1,10 +1,6 @@ import { Component, HostBinding } from "@angular/core"; import { GroupBoardComponent } from "../groupBoard/groupBoard.component"; import { GroupUtilityBarComponent } from "../groupUtilityBar/groupUtilityBar.component"; -import { EventStreamService } from "../../services/notifications/eventStream.service"; -import { PublicEventModel } from "../../model/events/publicEvent.model"; -import { GroupEventVisitor } from "../../services/notifications/visitors/group/groupEvent.visitor"; -import { map } from "rxjs"; @Component({ selector: "app-groups", @@ -15,14 +11,4 @@ import { map } from "rxjs"; }) export class GroupsComponent { @HostBinding("class") classes = "component-container"; - - constructor( - private readonly eventStream: EventStreamService, - private readonly groupEventVisitor: GroupEventVisitor, - ) { - this.eventStream - .stream("groups.updates.all") - .pipe(map((event) => PublicEventModel.instantiate(event))) - .subscribe((event) => event.accept(this.groupEventVisitor)); - } } diff --git a/src/app/services/notifications/asyncRequestStatus.service.ts b/src/app/services/notifications/asyncRequestStatus.service.ts index 4b1481a..b3c8af1 100644 --- a/src/app/services/notifications/asyncRequestStatus.service.ts +++ b/src/app/services/notifications/asyncRequestStatus.service.ts @@ -124,6 +124,7 @@ export class AsyncRequestStatusService { ): Observable { const terminatingStatuses = [ StateEnum.REQUEST_ACCEPTED, + StateEnum.REQUEST_COMPLETED, StateEnum.REQUEST_REJECTED, StateEnum.REQUEST_TIMEOUT, ]; diff --git a/src/app/services/notifications/asynchronousRequest.mediator.spec.ts b/src/app/services/notifications/asynchronousRequest.mediator.spec.ts index 0a75169..09aaaea 100644 --- a/src/app/services/notifications/asynchronousRequest.mediator.spec.ts +++ b/src/app/services/notifications/asynchronousRequest.mediator.spec.ts @@ -130,14 +130,15 @@ describe("AsynchronousRequestMediator", () => { // The backend only sends us properties, so use the spread operator to only send back properties, not methods const eventResponses$ = cold("----a", { a: { ...responseEvent } }); - const request$ = cold("--a|", { a: true }); - rsocketRequestFactoryMock.createRequestStream.and.callFake( - () => eventResponses$ as any, + const request$ = cold("--|"); + + rsocketRequestFactoryMock.createRequestStream.and.returnValue( + eventResponses$, ); - rsocketRequestFactoryMock.createRequestResponse.and.callFake( - () => request$ as any, + rsocketRequestFactoryMock.createRequestResponse.and.returnValue( + request$, ); const response$ = service.submitRequestEvent( @@ -148,7 +149,7 @@ describe("AsynchronousRequestMediator", () => { expectObservable(response$).toBe("a-b-(c|)", { a: StateEnum.REQUESTING, - b: StateEnum.REQUEST_ACCEPTED, + b: StateEnum.REQUEST_COMPLETED, c: StateEnum.EVENT_PROCESSED, }); @@ -170,14 +171,14 @@ describe("AsynchronousRequestMediator", () => { const eventResponseRoute = "response.route"; const eventResponses$ = cold("-"); - const request$ = cold("--a|", { a: true }); + const request$ = cold("--|"); - rsocketRequestFactoryMock.createRequestStream.and.callFake( - () => eventResponses$ as any, + rsocketRequestFactoryMock.createRequestStream.and.returnValue( + eventResponses$, ); - rsocketRequestFactoryMock.createRequestResponse.and.callFake( - () => request$ as any, + rsocketRequestFactoryMock.createRequestResponse.and.returnValue( + request$, ); const response$ = service.submitRequestEvent( @@ -188,7 +189,7 @@ describe("AsynchronousRequestMediator", () => { expectObservable(response$).toBe("a-b- 6996ms (c|)", { a: StateEnum.REQUESTING, - b: StateEnum.REQUEST_ACCEPTED, + b: StateEnum.REQUEST_COMPLETED, c: StateEnum.EVENT_PROCESSING_TIMEOUT, }); }); @@ -206,12 +207,12 @@ describe("AsynchronousRequestMediator", () => { const eventResponses$ = cold("-"); const request$ = cold("--#"); - rsocketRequestFactoryMock.createRequestStream.and.callFake( - () => eventResponses$ as any, + rsocketRequestFactoryMock.createRequestStream.and.returnValue( + eventResponses$, ); - rsocketRequestFactoryMock.createRequestResponse.and.callFake( - () => request$ as any, + rsocketRequestFactoryMock.createRequestResponse.and.returnValue( + request$, ); const response$ = service.submitRequestEvent( @@ -243,12 +244,12 @@ describe("AsynchronousRequestMediator", () => { const eventResponses$ = cold("-"); const request$ = cold("-"); - rsocketRequestFactoryMock.createRequestStream.and.callFake( - () => eventResponses$ as any, + rsocketRequestFactoryMock.createRequestStream.and.returnValue( + eventResponses$, ); - rsocketRequestFactoryMock.createRequestResponse.and.callFake( - () => request$ as any, + rsocketRequestFactoryMock.createRequestResponse.and.returnValue( + request$, ); const response$ = service.submitRequestEvent( @@ -281,14 +282,14 @@ describe("AsynchronousRequestMediator", () => { // The backend only sends us properties, so use the spread operator to only send back properties, not methods const eventResponses$ = cold("----a", { a: { ...responseEvent } }); - const request$ = cold("-", { a: true }); + const request$ = cold("-"); - rsocketRequestFactoryMock.createRequestStream.and.callFake( - () => eventResponses$ as any, + rsocketRequestFactoryMock.createRequestStream.and.returnValue( + eventResponses$, ); - rsocketRequestFactoryMock.createRequestResponse.and.callFake( - () => request$ as any, + rsocketRequestFactoryMock.createRequestResponse.and.returnValue( + request$, ); const response$ = service.submitRequestEvent(