diff options
Diffstat (limited to 'spec/controllers/v1/licenses_controller_spec.rb')
| -rw-r--r-- | spec/controllers/v1/licenses_controller_spec.rb | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/spec/controllers/v1/licenses_controller_spec.rb b/spec/controllers/v1/licenses_controller_spec.rb new file mode 100644 index 0000000..e8538d0 --- /dev/null +++ b/spec/controllers/v1/licenses_controller_spec.rb @@ -0,0 +1,57 @@ +require "spec_helper" + +describe V1::LicensesController do + describe :index do + let(:licenses) { [] } + + it "returns the first page of licenses" do + License.stub(:most_recent).with(page: 1, per_page: 10).and_return(licenses) + + xhr :get, :index + + response.should be_success + assigns(:licenses).should == licenses + end + + it "returns the second page of licenses" do + License.stub(:most_recent).with(page: 2, per_page: 10).and_return(licenses) + + xhr :get, :index, page: 2 + + response.should be_success + assigns(:licenses).should == licenses + end + + it "returns the specified number of results" do + License.stub(:most_recent).with(page: 1, per_page: 100).and_return(licenses) + + xhr :get, :index, per_page: 100 + response.should be_success + assigns(:licenses).should == licenses + end + + it "returns a json response" do + License.stub(:most_recent).with(page: 1, per_page: 10).and_return(licenses) + + xhr :get, :index + -> { JSON.parse(response.body) }.should_not raise_error + end + end + + describe :show do + let(:license) { License.new(id: SecureRandom.uuid) } + + before :each do + License.stub(:find).with(license.id).and_return(license) + xhr :get, :show, id: license.id + end + + it "returns the correct license" do + assigns(:license).should == license + end + + it "returns a json response" do + expect(-> { JSON.parse(response.body) }).not_to raise_error + end + end +end |
