tests for #1613, ensure that string is converted to boolean

This commit is contained in:
Umar Sheikh 2017-11-09 15:53:34 +05:00
parent 35d8a05e8a
commit c1f2fb77fe

View file

@ -0,0 +1,37 @@
# encoding: utf-8
require 'test_helper'
class ObjectManagerAttributesControllerTest < ActionDispatch::IntegrationTest
setup do
# set accept header
@headers = { 'ACCEPT' => 'application/json', 'CONTENT_TYPE' => 'application/json' }
# create agent
roles = Role.where(name: 'Admin')
groups = Group.all
UserInfo.current_user_id = 1
@admin = User.create_or_update(
login: 'tickets-admin',
firstname: 'Tickets',
lastname: 'Admin',
email: 'tickets-admin@example.com',
password: 'adminpw',
active: true,
roles: roles,
groups: groups,
)
end
test 'converts string to boolean for default option' do
credentials = ActionController::HttpAuthentication::Basic.encode_credentials('tickets-admin@example.com', 'adminpw')
post '/api/v1/object_manager_attributes', params: { 'name' => 'customdescription2', 'object' => 'Ticket', 'display' => 'custom description 2', 'active' => true, 'data_type' => 'boolean', 'data_option' => { 'options' => { 'true' => '', 'false' => '' }, 'default' => 'true' }, 'screens' => { 'create_middle' => { 'ticket.customer' => { 'shown' => true, 'item_class' => 'column' }, 'ticket.agent' => { 'shown' => true, 'item_class' => 'column' } }, 'edit' => { 'ticket.customer' => { 'shown' => true }, 'ticket.agent' => { 'shown' => true } } }, 'id' => 'c-192' }.to_json, headers: @headers.merge('Authorization' => credentials)
assert_response :success
result = JSON.parse @response.body
obj = ObjectManager::Attribute.find result['id']
assert_equal true, obj.data_option['default']
assert_equal 'boolean', obj.data_type
obj.destroy
end
end