<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/test/models/event_test.rb, branch erdgeist-modernize-auth</title>
<subtitle>[no description]</subtitle>
<id>https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth</id>
<link rel='self' href='https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/'/>
<updated>2026-07-14T12:31:18Z</updated>
<entry>
<title>Retire wipe_draft! and find_or_create_draft from production code</title>
<updated>2026-07-14T12:31:18Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T12:31:18Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=cca0e57b21d506cd341b927984bcb68f0e461783'/>
<id>urn:sha1:cca0e57b21d506cd341b927984bcb68f0e461783</id>
<content type='text'>
Both had already lost their reason to exist as production API:
wipe_draft!'s one remaining callsite (nodes#show) was removed two
sessions ago, and find_or_create_draft had zero production callers
left at all -- confirmed by a fresh grep, not assumed -- every one of
its ~65 call sites was test setup, unrelated to what those tests
actually cover.

wipe_draft! is deleted outright, along with its two tests -- the
lock/draft/autosave cleanup it silently performed already has
explicit, always-visible manual equivalents (Unlock, Discard
Autosave, Destroy Draft), so nothing real is lost.

find_or_create_draft moves to test_helper.rb as a plain method on
ActiveSupport::TestCase, alongside the create_node_with_draft/
create_node_with_published_page helpers already living there --
extending the framework's own designated test-extension point
rather than reopening the Node model from test code. Its three
tests of real dispatch behavior (idempotency on repeat calls, and
raising when a second user contends for the lock) are kept, since
~65 other tests depend on this helper actually working correctly;
only the call syntax changed, from node.find_or_create_draft(user)
to find_or_create_draft(node, user).
</content>
</entry>
<entry>
<title>Remove dead custom_rrule references after column drop</title>
<updated>2026-07-06T02:20:55Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-06T02:20:55Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=970f10854bccee0528de8435e5a65cdcc18ba93e'/>
<id>urn:sha1:970f10854bccee0528de8435e5a65cdcc18ba93e</id>
<content type='text'>
events#index still read event.custom_rrule - a live bug the column-drop
migration introduced, not just stale test data. Caught by four test
failures (three fixtures/direct attribute hashes still setting the
removed column, one UnknownAttributeError from a stale fixture loaded
before any test method runs), none of which were actually testing this
view - "should get index" passed throughout with zero Event records
present, meaning it could never have caught a per-row rendering bug.
Strengthened to create one real event first, so a future stray
reference to a dropped or renamed column fails loudly instead of
silently passing on an empty table.
</content>
</entry>
<entry>
<title>Phase 1: standalone events, external_url on nodes</title>
<updated>2026-06-30T17:22:24Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-30T17:15:22Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=a7a6ad786eeb9f94f7882462bccbdd31e1bb4743'/>
<id>urn:sha1:a7a6ad786eeb9f94f7882462bccbdd31e1bb4743</id>
<content type='text'>
- Migration: node_id nullable on events and occurrences, add
  title/description/is_primary to events, external_url to nodes
- Existing events marked is_primary: true (were all 1:1 with nodes)
- Node: has_one :event -&gt; has_many :events
- Event: belongs_to :node optional, validates title presence for
  standalone events, is_primary uniqueness scoped to node_id,
  display_title helper falling back through node title
- Occurrence: belongs_to :node optional, summary falls back to
  event.display_title
- nodes_helper: event_information uses events.first (interim; will
  be replaced in Phase 3 event UI)
- Tests: fix node.event -&gt; node.events.first in event_test
</content>
</entry>
<entry>
<title>Rails 5.2 test updates</title>
<updated>2026-06-25T15:51:45Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T15:51:45Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=0818a3057b0a91e422158d828026c941b4e10622'/>
<id>urn:sha1:0818a3057b0a91e422158d828026c941b4e10622</id>
<content type='text'>
- Rename test/functional → test/controllers, test/unit → test/models
- Remove test/performance/browsing_test.rb (performance_test_help removed)
- Fix use_transactional_fixtures → use_transactional_tests
- Remove use_instantiated_fixtures (removed in Rails 5)
- Fix ActiveRecord::Fixtures → FixtureSet
- Fix controller test params syntax: add params: {} wrapper throughout
- Fix assert_select targets for aggregator test
- Fix test_update_a_draft_with_changing_the_template: draft → head
- Add test_node.reload after children.create! (awesome_nested_set bug)
- Add before/after count pattern for create tests (transactional isolation)
- Known failures: 5 tests affected by Rails 5 transactional test isolation
</content>
</entry>
</feed>
