View Source Changelog

Noteworthy changes are included here. For a full version of changes, see git history.

To see dates a version was published, see the hex package page

0.4.2

Fixes

  • Fix: do not recycle fresh conn. Commit 24192e2

0.4.1

Added

  • Adds select/4 exact_option option. Commit f881da3
  • Copy headers across redirects . Commit 7ad8cb1

Fixes

  • 🛠️ Fix active form vs form data loading . Commit 37302b9
  • Update phx_click? to check for valid JS commands. Commit 0d54b49
  • Deduplicate data passed to FormPayload (multi checkbox fix). Commit e950ae4

0.4.0

Breaking

  • Select options were previously matched inexactly (as a substring match). That made it impossible to differentiate between two options where one was a subset of the other.

    For example, using select(session, "Email", from: "Contact") could not differentiate between the Email and Email and SMS options. Select options are now matched exactly. Commits dc7ba01 and e675561.

    This is a technically a bug fix, but it's also a potentially breaking change for existing tests that accidentally relied on that behavior. If you need inexact matches on options, please open an issue describing your use case.

Added

Improvements

  • Raise nice error if field is missing name attribute. Commit bb6950f
  • Docs: Add syntax highlighting for heex and html. Commit e308f9f

Fixes

  • Ignore phx-* attrs when inferring selector. Commit b5d28c8
  • Don't error on default form input without name attribute. Commit 3bd6d7a

0.3.2

Added

  • Check/uncheck works with phx-click outside forms. Commit 82fa973
  • Select works with phx-click outside forms. Commit 1493897
  • Radio buttons work with phx-click outside forms. Commit 8745ee1

Improvements

  • Send _target event with phx-change events. Commit ce093f1
  • Use [id=<id>] when querying by ID. Commits 5dd10f5 and b79e8a3
  • Allow non-string data types as inputs to fields. Commit 5cc0936
  • Support default values on textareas. Commit 41c70e0

Fixes

  • Fix refute_has/2 to handle :at option without text. Commit 33a02bf

0.3.1

Improvements

  • Do not assume first option to be selected by default for multiple select. Commit f146186
  • Handle multiple select in forms. Commit 6b6512d
  • Support pre-filled number inputs. Commit 81f03aa

Fixes

  • Fix open_browser/1 doc example. Commit 8f39959
  • Deep merge form data in nested/prefixed forms. Commit 34b73b0
  • Fix uncheck/2 in nested forms. Commit e1a2408
  • Fix: Preserve '?' in checkbox name. Commit 2e032ef
  • Fix: Deep merge nested form button value (static). Commit 4303b4a

0.3.0

Added

Improvements

  • We now handle redirects on phx-change events. Commit cf1687c.
  • Click button can submit forms when not nested in form. Commit e173f5b.

Fixes

  • Fix assert_path live navigation with query params. Commit 6c58f27.

Removed

  • Removes deprecated fill_form/3 and submit_form/3. Commit fef7e82.
  • Removes deprecated assert_has/refute_has with text as positional argument. Commit 82f4170.

0.2.13

Deprecations

Additions

  • Adds fill_in/3 helper. Commit 6c7a1d2.
  • Adds select/3 helper. Commit 6efeadf.
  • Adds choose/2 helper. Commit 5f58604.
  • Adds within/3 helper. Commit 10b7269.
  • Adds submit/1 helper. Commit fff82d1.
  • Adds check/2 and uncheck/2 helpers. Commit 58110b4.

0.2.12

Fixes

  • Fix checked checkbox being overridden by hidden input. Commit a621f34
  • Handle multiple checkboxes inside a label. Commit a8fc877
  • Fix assert_path/refute_path to handle live patching. Commit 48a29a3
  • Fix assert_path/refute_path to handle Live Navigation. Commit 842ab36
  • Fix assert_has/refute_has title matching exactly. Commit 7b2f243
  • Update assert_has examples in README to new API. Commit cb7529b

0.2.11

Improvements

  • Add assert_path and refute_path assertions helpers. Commit f2ab02c
  • Include pre-selected text input values, selects, radio buttons, and checkboxes in form submissions. Commits 32a8da5, d253eba, ebba679
  • Include button's name and value if present. Commit e54c64f
  • click_button submits form without having to fill_form before it does. Commit 8d16b7e

Fixes

  • Follow multiple redirects in Live.click_link. Commit 28de102

0.2.10

Improvements

  • Add count option in assertions. Commit 16fd0a4
  • Add exact option in assertions. Commit da772f1
  • Add at option in assertions. Commit 5da74ec

Deprecations

  • Deprecate assert_has/3 where text is the third argument (positional). Use assert_has/3 with text: option instead. Commit 193c21a

0.2.9

Improvements

  • Adds assert_has/2 and refute_has/2. Commits 3756a47 and 9709b7a.
  • Follows redirect on visit/2. Commit b4f49be

Fixes

  • Do not always assume submit_button after fill_form is for submitting the form. Commit e193a07

0.2.8

Added

  • Adds WSL2 for open_browser/2. Commit b852014.
  • Relax Elixir version requirement to 1.15. Commit 3cb9586
  • Support visiting non-200 pages in Static implementation. Commit 4964ab2.

0.2.7

Fixes

  • Fixes open_browser/1 not existing. Commit 7407b19.

0.2.6

Added

  • Adds open_browser/1 function to both Live and Static implementations. Commit b9d8347.
  • Handle forms that use data attributes and Phoenix.HTML.js to submit forms. Commit d699792.

Fixes

  • Correctly handles forms that PUT/DELETE (through hidden inputs). Commit 3efa4c0.

0.2.5

Added

  • Introduce ability to assert and refute on page title. Commit 8552ec7.
  • Handle regular form submission from LiveView pages when using submit_form. Commit fc4d3ef.

Fixes

  • Improve Live validation of form fields to properly handle nested fields in forms. Commits 180dc0d and c275c0c.

0.2.4

Added

  • Handle form redirects from static pages. Commit 4c39920
  • Handle regular form submission from LiveView pages with fill_form + click_button. Commit fe755de

Fixes

  • Use Html.raw/1 for more errors to handle nested buttons. 82e7415

0.2.3

Added

  • Handle form redirects (to Live and static pages) from Live pages. Commit 531e5e9
  • Expand documentation on nested forms. Commit 6809389

Fixes

  • Allow multiple matching elements in assert_has. Commit ac0e167

0.2.2

Added

  • Raise AssertionError instead of RuntimeError in assertions for more consistent ExUnit error messages. Commit 117bc59
  • Update fill_form to handle that aren't direct children of the form element. Commit 46d6229

0.2.1

Added

  • Improve printing of complex nested content in assertions. Commit 7151834
  • Better error messages in forms when multiple submit buttons/inputs are found. Commit 82492c6

Fixes

  • Allow using refute_has in pipes in the same way assert_has already works. Commit 0484979

0.2.0

Breaking changes

  • Update our static implementation to raise when we find many elements. That brings it in line with how our LiveView implementation works. Commit daa4dca

Improved

  • Improves error messages in assertions. Commit c995fc1

0.1.1

Added

  • Adds click_link/3 and click_button/3 which allow for specifying a CSS selector. Commit c7401b6.

0.1.0

  • Initial version of the library.