diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-13 19:28:00 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-13 19:28:00 -0800 |
| commit | e43909be7e8f8b2b5d7b002448912e23e40ad4e9 (patch) | |
| tree | a88426bbb2b4965ce13bf24db9019594cb75e86b /frontend/src/components/FeedItem.test.tsx | |
| parent | 215d6198ae1bb9af61841bd532b439c2b0dcfab6 (diff) | |
| download | neko-e43909be7e8f8b2b5d7b002448912e23e40ad4e9.tar.gz neko-e43909be7e8f8b2b5d7b002448912e23e40ad4e9.tar.bz2 neko-e43909be7e8f8b2b5d7b002448912e23e40ad4e9.zip | |
fix(ui): sync FeedItem state with props to update read status styling (NK-fpzx66)
Diffstat (limited to 'frontend/src/components/FeedItem.test.tsx')
| -rw-r--r-- | frontend/src/components/FeedItem.test.tsx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/frontend/src/components/FeedItem.test.tsx b/frontend/src/components/FeedItem.test.tsx index 5ca5582..f0497c6 100644 --- a/frontend/src/components/FeedItem.test.tsx +++ b/frontend/src/components/FeedItem.test.tsx @@ -51,4 +51,21 @@ describe('FeedItem Component', () => { }) })); }); + + it('updates styling when read state changes', () => { + const { rerender } = render(<FeedItem item={{ ...mockItem, read: false }} />); + const link = screen.getByText('Test Item'); + // Initial state: unread (bold) + // Note: checking computed style might be flaky in jsdom, but we can check the class on the parent + const listItem = link.closest('li'); + expect(listItem).toHaveClass('unread'); + expect(listItem).not.toHaveClass('read'); + + // Update prop to read + rerender(<FeedItem item={{ ...mockItem, read: true }} />); + + // Should now be read + expect(listItem).toHaveClass('read'); + expect(listItem).not.toHaveClass('unread'); + }); }); |
