wax-spec
Wax::Spec
Adds spec helpers for apps using the wax
shard. This was pulled out to a separate shard so that apps wouldn't have spec-only dependencies in their production apps.
Installation
-
Add the dependency to your
shard.yml
:development_dependencies: wax-spec: github: jgaskins/wax-spec
-
Run
shards install
Usage
In your application's spec helpers, load the appropriate helpers provided by wax-spec
. For example, in your applications' spec/routes/route_helper.cr
, you would do this:
require "../spec_helper" # your app-wide baseline spec helper file
require "wax-spec/route_helper"
Then in your specs you can do this:
describe RouteUnderTest do
app = app(RouteUnderTest.new)
context "GET /" do
it "returns 200 OK" do
response = app.get "/"
response.should have_status :ok
response.should have_html "Hello"
end
end
context "POST /" do
it "returns 201 CREATED with the correct params" do
response = app.post "/", form: {
# other params ...
_authenticity_token: app.authenticity_token,
}
response.should have_status :created
end
it "returns 400 BAD REQUEST without the authenticity token" do
response = app.post "/", form: {
# non-authenticity-token params
}
response.should have_status :bad_request
end
end
end
Contributing
- Fork it (https://github.com/jgaskins/wax-spec/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Jamie Gaskins - creator and maintainer
Repository
wax-spec
Owner
Statistic
- 0
- 0
- 0
- 0
- 2
- 6 months ago
- May 1, 2024
License
MIT License
Links
Synced at
Sun, 17 Nov 2024 10:46:52 GMT
Languages