Feature/ai post suggestions (#40)
* feat: first cut on ai suggestion system for title and summary * feat: completion of titling/excerpt/slug-suggestion AI quick action * feat: feeds use existing excerpts. also documentation. --------- Co-authored-by: hugo <hugoms@me.com>
This commit is contained in:
@@ -229,4 +229,37 @@ describe('Editor metadata collapse', () => {
|
||||
});
|
||||
expect(container.querySelector('.editor-header-row')).toBeNull();
|
||||
});
|
||||
|
||||
it('keeps excerpt panel collapsed by default and toggles it independently', async () => {
|
||||
(window as any).electronAPI.posts.get = vi.fn().mockResolvedValue(createPost({ title: '' }));
|
||||
|
||||
const { container } = render(<PostEditor postId="post-1" />);
|
||||
|
||||
await act(async () => {
|
||||
await Promise.resolve();
|
||||
await Promise.resolve();
|
||||
await Promise.resolve();
|
||||
});
|
||||
|
||||
expect(container.querySelector('.editor-header-row')).not.toBeNull();
|
||||
expect(container.querySelector('.editor-excerpt-panel')).toBeNull();
|
||||
|
||||
const excerptToggle = Array.from(container.querySelectorAll('.metadata-toggle')).find((node) =>
|
||||
node.textContent?.includes('Excerpt')
|
||||
);
|
||||
expect(excerptToggle).not.toBeNull();
|
||||
expect(excerptToggle?.classList.contains('expanded')).toBe(false);
|
||||
|
||||
await act(async () => {
|
||||
fireEvent.click(excerptToggle!);
|
||||
});
|
||||
|
||||
expect(container.querySelector('.editor-excerpt-panel')).not.toBeNull();
|
||||
|
||||
await act(async () => {
|
||||
fireEvent.click(excerptToggle!);
|
||||
});
|
||||
|
||||
expect(container.querySelector('.editor-excerpt-panel')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user