master
 1require "rails_helper"
 2
 3module Api
 4  module V2
 5    describe TutorialsController do
 6      render_views
 7
 8      describe "#index" do
 9        let!(:tutorial) { create(:tutorial) }
10
11        before :each do
12          get :index, xhr: true
13        end
14
15        it "loads all the tutorials" do
16          expect(assigns(:tutorials)).to match_array([tutorial])
17        end
18
19        it "responds with json" do
20          json = JSON.parse(response.body)
21          expect(json["tutorials"].count).to eql(1)
22          json_tutorial = json["tutorials"][0]
23          expect(json_tutorial["id"]).to eql(tutorial.id)
24          expect(json_tutorial["heading"]).to eql(tutorial.heading)
25          expect(json_tutorial["description"]).to eql(tutorial.description)
26          expect(json_tutorial["url"]).to eql(tutorial.url)
27          expect(json_tutorial["submitter"]).to eql(tutorial.user.id)
28          expect(json_tutorial["imageUrl"]).to eql(tutorial.image_url)
29        end
30      end
31
32      describe "#show" do
33        let!(:tutorial) { create(:tutorial) }
34
35        it "loads the single tutorial" do
36          get :show, params: { id: tutorial.id }, xhr: true
37          expect(assigns(:tutorial)).to eql(tutorial)
38        end
39      end
40    end
41  end
42end