# User History: Criar notícia completa no CMS

> Perfil: redator/editor do portal SUCESU, responsável por publicar conteúdos
> no CMS administrativo. Usuário experiente que domina o formulário de criação
> de notícias.

## História

O redator acessa o CMS administrativo e faz login com suas credenciais. Após
o login, navega até a página de criação de nova notícia. Preenche o **título**
(que auto-gera o slug), seleciona a **categoria**, adiciona um **subtítulo**
e digita o **conteúdo** no editor rico (ProseMirror/Tiptap).

Em seguida, o redator faz o **upload da imagem de capa** — clica no dropzone
que abre o modal da galeria de mídias, seleciona um arquivo local, preenche
o alt text, confirma o upload e seleciona a mídia registrada.

Depois, o redator adiciona **imagens à galeria** da notícia — seleciona
múltiplos arquivos, o modal de crop aparece para cada imagem, ele preenche
o alt text e confirma o upload.

O redator adiciona uma **tag** ("teste-e2e") e clica em **Publicar**. A
notícia é salva e redirecionada para a listagem. O redator então valida que
a notícia aparece na **listagem do portal público** (`/noticias`) e que a
**página da notícia** renderiza a imagem de capa com `<picture>` + `<source
type="image/webp">` (otimização WebP).

## Critérios de aceite

1. Login no CMS funciona sem erros com `suporte@maxima.inf.br` / senha de `V2_FOUNDER_PASSWORD`.
2. Formulário de criação de notícia é acessível em `/cms/noticias/novo`.
3. Título é preenchido e slug é auto-gerado.
4. Categoria pode ser selecionada.
5. Subtítulo é preenchido.
6. Conteúdo é digitado no editor rico (ProseMirror).
7. Upload da imagem de capa funciona via modal da galeria (upload → crop →
   registrar → selecionar).
8. Upload de imagens à galeria funciona (upload → modal crop → confirmar).
9. Tags podem ser adicionadas.
10. Botão "Publicar" salva a notícia e redireciona.
11. A notícia criada aparece na listagem `/noticias` no portal público.
12. A página da notícia usa `<picture>` com `<source type="image/webp">` para
    a imagem de capa (quando há variantes WebP disponíveis).
13. Nenhum erro de JavaScript (pageerror) durante todo o fluxo.

## Dados de referência

- CMS URL: `http://localhost:10011/cms`
- Login: `suporte@maxima.inf.br` / senha de `V2_FOUNDER_PASSWORD`
- Criação: `/cms/noticias/novo`
- Portal listagem: `/noticias`
- Fixtures: `fixtures/cover-test.jpg`, `fixtures/gallery-1.jpg`,
  `fixtures/gallery-2.jpg`, `fixtures/gallery-3.jpg`

## Teste correspondente

`tests/cms-news-creation.spec.ts`
