# frozen_string_literal: true RSpec.describe TiptapService do let(:json) do { type: 'doc', content: [ { type: 'header', content: [ { type: 'headerColumn', content: [{ type: 'text', text: 'Left' }] }, { type: 'headerColumn', content: [{ type: 'text', text: 'Right' }] } ] }, { type: 'title', content: [{ type: 'text', text: 'Title' }] }, { type: 'title' # remained empty in editor }, { type: 'heading', attrs: { level: 2, textAlign: 'center' }, content: [{ type: 'text', text: 'Heading 2' }] }, { type: 'heading', attrs: { level: 3, textAlign: 'center' }, content: [{ type: 'text', text: 'Heading 3' }] }, { type: 'heading', attrs: { level: 3 } # remained empty in editor }, { type: 'paragraph', attrs: { textAlign: 'right' }, content: [{ type: 'text', text: 'First paragraph' }] }, { type: 'paragraph', content: [ { type: 'text', text: 'Bonjour ', marks: [{ type: 'italic' }, { type: 'strike' }] }, { type: 'mention', attrs: { id: 'name', label: 'Nom' }, marks: [{ type: 'bold' }, { type: 'underline' }] }, { type: 'text', text: ' ' }, { type: 'text', text: '!', marks: [{ type: 'highlight' }] } ] }, { type: 'paragraph' # no content, empty line }, { type: 'bulletList', content: [ { type: 'listItem', content: [ { type: 'paragraph', content: [ { type: 'text', text: 'Item 1' } ] } ] }, { type: 'listItem', content: [ { type: 'paragraph', content: [ { type: 'text', text: 'Item 2' } ] } ] } ] }, { type: 'orderedList', content: [ { type: 'listItem', content: [ { type: 'paragraph', content: [ { type: 'text', text: 'Item 1' } ] } ] }, { type: 'listItem', content: [ { type: 'paragraph', content: [ { type: 'text', text: 'Item 2' } ] } ] } ] }, { type: 'paragraph', content: [ { type: 'text', text: 'Langages de prédilection:' }, { type: 'mention', attrs: { id: 'languages', label: 'Langages' } } ] }, { type: 'footer', content: [{ type: 'text', text: 'Footer' }] } ] } end describe '.to_html' do let(:substitutions) { { 'name' => 'Paul', 'languages' => ChampPresentations::MultipleDropDownListPresentation.new(['ruby', 'rust']) } } let(:html) do [ '
Left
Right
', '

Title

', '

Heading 2

', '

Heading 3

', '

First paragraph

', '

Bonjour Paul !

', '', '
  1. Item 1

  2. Item 2

', '

Langages de prédilection:

', # TODO: fix this markup,