diff --git a/libs/angular/src/services/unassigned-items-banner.service.spec.ts b/libs/angular/src/services/unassigned-items-banner.service.spec.ts index ac80f7d651..9b2ffc1ef9 100644 --- a/libs/angular/src/services/unassigned-items-banner.service.spec.ts +++ b/libs/angular/src/services/unassigned-items-banner.service.spec.ts @@ -1,5 +1,5 @@ import { MockProxy, mock } from "jest-mock-extended"; -import { firstValueFrom, skip } from "rxjs"; +import { firstValueFrom } from "rxjs"; import { FakeStateProvider, mockAccountServiceWith } from "@bitwarden/common/spec"; import { UserId } from "@bitwarden/common/types/guid"; @@ -44,10 +44,8 @@ describe("UnassignedItemsBanner", () => { showBanner.nextState(undefined); const sut = sutFactory(); - // skip first value so we get the recomputed value after the server call - expect(await firstValueFrom(sut.showBanner$.pipe(skip(1)))).toBe(true); - // Expect to have updated local state - expect(await firstValueFrom(showBanner.state$)).toBe(true); + + expect(await firstValueFrom(sut.showBanner$)).toBe(true); expect(apiService.getShowUnassignedCiphersBanner).toHaveBeenCalledTimes(1); }); }); diff --git a/libs/angular/src/services/unassigned-items-banner.service.ts b/libs/angular/src/services/unassigned-items-banner.service.ts index bc567aa44e..faa766a18a 100644 --- a/libs/angular/src/services/unassigned-items-banner.service.ts +++ b/libs/angular/src/services/unassigned-items-banner.service.ts @@ -1,5 +1,5 @@ import { Injectable } from "@angular/core"; -import { EMPTY, concatMap } from "rxjs"; +import { concatMap } from "rxjs"; import { StateProvider, @@ -24,15 +24,15 @@ export class UnassignedItemsBannerService { private _showBanner = this.stateProvider.getActive(SHOW_BANNER_KEY); showBanner$ = this._showBanner.state$.pipe( - concatMap(async (showBanner) => { + concatMap(async (showBannerState) => { // null indicates that the user has not seen or dismissed the banner yet - get the flag from server - if (showBanner == null) { + if (showBannerState == null) { const showBannerResponse = await this.apiService.getShowUnassignedCiphersBanner(); await this._showBanner.update(() => showBannerResponse); - return EMPTY; // complete the inner observable without emitting any value; the update on the previous line will trigger another run + return showBannerResponse; } - return showBanner; + return showBannerState; }), );