Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.63 KB | None | 0 0
  1. require 'rails_helper'
  2.  
  3. RSpec.describe Emr::TemplatesController, type: :controller do
  4.   describe '#template cruds' do
  5.     let(:user) { create(:user) }
  6.  
  7.     before do
  8.       sign_in(user)
  9.     end
  10.  
  11.     it 'checks success and return values for new template' do
  12.       get :new
  13.       expect(response.content_type).to eq "application/json"
  14.       expect(response.status).to eq(200)
  15.     end
  16.  
  17.     it 'checks success and return values for create template' do
  18.       create(:template_type)
  19.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  20.       expect(response.content_type).to eq "application/json"
  21.       expect(response.status).to eq(200)
  22.       result = JSON.parse(response.body)['data']
  23.       expect(result['template']['template']).to eq('template 00')
  24.       expect(result['template']).to include('id')
  25.  
  26.       expect{
  27.         post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  28.       }.to change(Template, :count).by(1)
  29.     end
  30.  
  31.     it 'checks success and return values for edit template' do
  32.       create(:template_type)
  33.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  34.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  35.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  36.       template_id = Template.last.id
  37.  
  38.       get :edit, {id: template_id}
  39.       expect(response.content_type).to eq "application/json"
  40.       expect(response.status).to eq(200)
  41.       result = JSON.parse(response.body)['data']
  42.       expect(result['template']['template']).to eq('template 00')
  43.       expect(result['template']).to include('id')
  44.     end
  45.  
  46.     it 'checks success and return values for update template' do
  47.       create(:template_type)
  48.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  49.       template_id = Template.first.id
  50.       put :update, {template: {id: template_id, template: 'template 0001'}, id: template_id}
  51.       expect(response.content_type).to eq "application/json"
  52.       expect(response.status).to eq(200)
  53.       result = JSON.parse(response.body)['data']
  54.       expect(result['template']['template']).to eq('template 0001')
  55.       expect(result['template']).to include('id')
  56.     end
  57.  
  58.  
  59.     it 'checks success and return values for destroy template' do
  60.       create(:template_type)
  61.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  62.       habit_id = Template.first.id
  63.       expect{
  64.         delete :destroy, {id: habit_id}
  65.       }.to change(Template, :count).by(-1)
  66.  
  67.       expect(response.content_type).to eq "application/json"
  68.       expect(response.status).to eq(200)
  69.     end
  70.  
  71.     it 'checks success and return values for destroy template' do
  72.       create(:template_type)
  73.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  74.       create(:template_type)
  75.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 01', name: 'aa'}}
  76.       create(:template_type)
  77.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 02', name: 'aa'}}
  78.       habit_id = Template.first.id
  79.  
  80.  
  81.       expect{
  82.         delete :destroy, {id: habit_id}
  83.       }.to change(Template, :count).by(-1)
  84.  
  85.       expect(response.content_type).to eq "application/json"
  86.       expect(response.status).to eq(200)
  87.     end
  88.  
  89.   end
  90.  
  91.  
  92.   describe '#template index for different users' do
  93.  
  94.     let(:user) { create(:user) }
  95.  
  96.     before do
  97.       sign_in(user)
  98.     end
  99.  
  100.     it 'checks index for 2 users' do
  101.       create(:template_type)
  102.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
  103.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 01', name: 'aa'}}
  104.       post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 02', name: 'aa'}}
  105.  
  106.       create(:template_type)
  107.  
  108.       post :create, {template: {template_type_id: TemplateType.second.id, template: 'template 00', name: 'aa'}}
  109.  
  110.  
  111.       type_id = TemplateType.first.id
  112.  
  113.       # params = { options: {columns: columns},}
  114.       # post :index, params.merge(format: :json)
  115.       get :index, { limit: 25, page: 1, template_type_id: type_id}.merge(format: :json)
  116.  
  117.       result = JSON.parse(response.body)['data']
  118.  
  119.       expect(result['total']).to eq(3)
  120.     end
  121.  
  122.   end
  123.  
  124. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement