Popularity
1.9
Declining
Activity
0.0
Stable
11
2
1

Monthly Downloads: 4
Programming language: Elixir
License: Apache License 2.0
Latest version: v0.1.1

ecto_validation_case alternatives and similar packages

Based on the "ORM and Datamapping" category.
Alternatively, view ecto_validation_case alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ecto_validation_case or a related project?

Add another 'ORM and Datamapping' Package

README

Ecto.ValidationCase

Hex Version Build Status Inline docs

Simplify your Ecto model validation tests. Loosely inspired by shoulda matchers, but simpler.

IMPORTANT

Jose Valim, creator of Elixir, has outlined a better approach to this problem here: https://groups.google.com/forum/#!topic/elixir-lang-talk/kwLLyCiarls

Go check it out.

Sample

defmodule MyApp.UserTest do
  use ExUnit.Case
  use Ecto.ValidationCase, model: MyApp.User

  test "requires password to be 10 chars long" do
    rejects "password",    for: :password, message: "too short"
    accepts "password123", for: :password
  end
end

Rationale

Rather than create a matching test helper function for each of the valiations that Ecto supports, this library intentionally keeps things simple, providing only accepts/2 and rejects/2. Why?

  • The api very easy to remember, which makes validation tests more likely to be written.
  • The tests are more explicit, with a minimum of magic. It is very clear exactly what values are being tested, for which fields, and which error messages should be returned.

Installation

You can install Ecto.ValidationCase from hex. First, change your deps in mix.exs specifying that this is applicable only for the test environment:

def deps do
  [{:ecto_validation_case, ">= 0.1.0", env: :test}]
end

Then run mix deps.get to install.

Documentation

Documentation is available on Ecto.ValidationCase's hex page.

License

MIT. See LICENSE and NOTICE for more details.


*Note that all licence references and agreements mentioned in the ecto_validation_case README section above are relevant to that project's source code only.