Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rails_helper'
- RSpec.describe Emr::TemplatesController, type: :controller do
- describe '#template cruds' do
- let(:user) { create(:user) }
- before do
- sign_in(user)
- end
- it 'checks success and return values for new template' do
- get :new
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- end
- it 'checks success and return values for create template' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- result = JSON.parse(response.body)['data']
- expect(result['template']['template']).to eq('template 00')
- expect(result['template']).to include('id')
- expect{
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- }.to change(Template, :count).by(1)
- end
- it 'checks success and return values for edit template' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- template_id = Template.last.id
- get :edit, {id: template_id}
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- result = JSON.parse(response.body)['data']
- expect(result['template']['template']).to eq('template 00')
- expect(result['template']).to include('id')
- end
- it 'checks success and return values for update template' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- template_id = Template.first.id
- put :update, {template: {id: template_id, template: 'template 0001'}, id: template_id}
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- result = JSON.parse(response.body)['data']
- expect(result['template']['template']).to eq('template 0001')
- expect(result['template']).to include('id')
- end
- it 'checks success and return values for destroy template' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- habit_id = Template.first.id
- expect{
- delete :destroy, {id: habit_id}
- }.to change(Template, :count).by(-1)
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- end
- it 'checks success and return values for destroy template' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 01', name: 'aa'}}
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 02', name: 'aa'}}
- habit_id = Template.first.id
- expect{
- delete :destroy, {id: habit_id}
- }.to change(Template, :count).by(-1)
- expect(response.content_type).to eq "application/json"
- expect(response.status).to eq(200)
- end
- end
- describe '#template index for different users' do
- let(:user) { create(:user) }
- before do
- sign_in(user)
- end
- it 'checks index for 2 users' do
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 00', name: 'aa'}}
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 01', name: 'aa'}}
- post :create, {template: {template_type_id: TemplateType.first.id, template: 'template 02', name: 'aa'}}
- create(:template_type)
- post :create, {template: {template_type_id: TemplateType.second.id, template: 'template 00', name: 'aa'}}
- type_id = TemplateType.first.id
- # params = { options: {columns: columns},}
- # post :index, params.merge(format: :json)
- get :index, { limit: 25, page: 1, template_type_id: type_id}.merge(format: :json)
- result = JSON.parse(response.body)['data']
- expect(result['total']).to eq(3)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement