@ -46,21 +46,23 @@ describe CustomFieldsController do
describe " WITH all ok params " do
let ( :de_name ) { " Ticket Feld " }
let ( :en_name ) { " Issue Field " }
let ( :params ) { { " custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } , " 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
let ( :params ) { { " custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
before do
put :update , params
end
it { expect ( response ) . to be_redirect }
it { expect ( custom_field . name ( :de ) ) . to eq ( de_name ) }
it { expect ( custom_field . name ( :de ) ) . to eq ( de_name ) }
it { expect ( custom_field . name ( :en ) ) . to eq ( en_name ) }
end
describe " WITH one empty name params " do
let ( :en_name ) { " Issue Field " }
let ( :de_name ) { " " }
let ( :params ) { { " custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } , " 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
let ( :params ) { { " custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
before do
put :update , params
@ -70,6 +72,7 @@ describe CustomFieldsController do
it { expect ( custom_field . name ( :de ) ) . to eq ( en_name ) }
it { expect ( custom_field . name ( :en ) ) . to eq ( en_name ) }
end
end
describe " POST new " do
@ -77,34 +80,71 @@ describe CustomFieldsController do
Setting . available_languages = [ " de " , " en " ]
end
describe " WITH empty name param " do
let ( :en_name ) { " " }
let ( :de_name ) { " " }
let ( :params ) { { " type " = > " WorkPackageCustomField " ,
" custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
before do
post :create , params
end
it { expect ( response ) . to render_template 'new' }
it { expect ( assigns ( :custom_field ) . errors . messages [ :name ] . first ) . to eq " can't be blank " }
it { expect ( assigns ( :custom_field ) . translations ) . to be_empty }
end
describe " WITH all ok params " do
let ( :de_name ) { " Ticket Feld " }
let ( :en_name ) { " Issue Field " }
let ( :params ) { { " type " = > " WorkPackageCustomField " ,
" custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } , " 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
" custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
before do
post :create , params
end
it { expect ( response ) . to be_success }
it { expect ( assigns ( :custom_field ) . name ( :de ) ) . to eq ( de_name ) }
it { expect ( assigns ( :custom_field ) . name ( :en ) ) . to eq ( en_name ) }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :de } [ :name ] ) . to eq ( de_name ) }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :en } [ :name ] ) . to eq ( en_name ) }
end
describe " WITH one empty name params " do
let ( :en_name ) { " Issue Field " }
let ( :de_name ) { " " }
let ( :params ) { { " type " = > " WorkPackageCustomField " ,
" custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } , " 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
" custom_field " = > { " translations_attributes " = > { " 0 " = > { " name " = > de_name , " locale " = > " de " } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " } } } } }
before do
post :create , params
end
it { expect ( response ) . to be_success }
it { expect ( assigns ( :custom_field ) . name ( :de ) ) . to eq ( en_name ) }
it { expect ( assigns ( :custom_field ) . name ( :en ) ) . to eq ( en_name ) }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :de } ) . to be_nil }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :en } [ :name ] ) . to eq ( en_name ) }
end
describe " WITH different language and default_value params " do
let ( :en_name ) { " Issue Field " }
let ( :en_default ) { " EN Default Value " }
let ( :de_name ) { " " }
let ( :de_default ) { " DE Default Value " }
let ( :params ) { { " type " = > " WorkPackageCustomField " ,
" custom_field " = > { " translations_attributes " = >
{ " 0 " = > { " name " = > de_name , " locale " = > " de " , " default_value " = > de_default } ,
" 1 " = > { " name " = > en_name , " locale " = > " en " , " default_value " = > '' } } } } }
before do
post :create , params
end
it { expect ( response ) . to be_success }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :de } [ :name ] ) . to eq ( en_name ) }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :en } [ :name ] ) . to eq ( en_name ) }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :en } [ :default_value ] ) . to be_nil }
it { expect ( assigns ( :custom_field ) . translations . find { | elem | elem . locale == :de } [ :default_value ] ) . to eq ( de_default ) }
end
end
end