diff --git a/src/platform/updates/common/releaseStore.ts b/src/platform/updates/common/releaseStore.ts index 470c92272..d51d5d026 100644 --- a/src/platform/updates/common/releaseStore.ts +++ b/src/platform/updates/common/releaseStore.ts @@ -72,14 +72,10 @@ export const useReleaseStore = defineStore('release', () => { ) === 0 ) - const hasMediumOrHighAttention = computed(() => - recentReleases.value - .slice(0, -1) - .some( - (release) => - release.attention === 'medium' || release.attention === 'high' - ) - ) + const hasMediumOrHighAttention = computed(() => { + const attention = recentRelease.value?.attention + return attention === 'medium' || attention === 'high' + }) // Show toast if needed const shouldShowToast = computed(() => { diff --git a/tests-ui/tests/store/releaseStore.test.ts b/tests-ui/tests/store/releaseStore.test.ts index 467ea9f18..4020eac63 100644 --- a/tests-ui/tests/store/releaseStore.test.ts +++ b/tests-ui/tests/store/releaseStore.test.ts @@ -145,18 +145,24 @@ describe('useReleaseStore', () => { it('should show toast for medium/high attention releases', () => { vi.mocked(semverCompare).mockReturnValue(1) - - // Need multiple releases for hasMediumOrHighAttention to work - const mediumRelease = { - ...mockRelease, - id: 2, - attention: 'medium' as const - } - store.releases = [mockRelease, mediumRelease] + store.releases = [mockRelease] expect(store.shouldShowToast).toBe(true) }) + it('should not show toast for low attention releases', () => { + vi.mocked(semverCompare).mockReturnValue(1) + + const lowAttentionRelease = { + ...mockRelease, + attention: 'low' as const + } + + store.releases = [lowAttentionRelease] + + expect(store.shouldShowToast).toBe(false) + }) + it('should show red dot for new versions', () => { vi.mocked(semverCompare).mockReturnValue(1) @@ -490,12 +496,7 @@ describe('useReleaseStore', () => { vi.mocked(semverCompare).mockReturnValue(1) - const mediumRelease = { ...mockRelease, attention: 'medium' as const } - store.releases = [ - mockRelease, - mediumRelease, - { ...mockRelease, attention: 'low' as const } - ] + store.releases = [mockRelease] expect(store.shouldShowToast).toBe(true) }) @@ -578,14 +579,7 @@ describe('useReleaseStore', () => { it('should show toast when conditions are met', () => { vi.mocked(semverCompare).mockReturnValue(1) - - // Need multiple releases for hasMediumOrHighAttention - const mediumRelease = { - ...mockRelease, - id: 2, - attention: 'medium' as const - } - store.releases = [mockRelease, mediumRelease] + store.releases = [mockRelease] expect(store.shouldShowToast).toBe(true) }) @@ -615,12 +609,7 @@ describe('useReleaseStore', () => { vi.mocked(semverCompare).mockReturnValue(1) // Set up all conditions that would normally show toast - const mediumRelease = { - ...mockRelease, - id: 2, - attention: 'medium' as const - } - store.releases = [mockRelease, mediumRelease] + store.releases = [mockRelease] expect(store.shouldShowToast).toBe(false) })