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