|
|
|
@ -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 |
|
|
|
|