Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add email field to csv presenter #121

Merged
merged 5 commits into from
Feb 15, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/i18n-tasks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
base_locale: ca
locales: [ca, es]
ignore_unused:
- "decidim.features.hospitalet_surveys.name"
- "devise.mailer.invite_user.subject"
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ def to_data

def headers
CSV.generate_line(
[I18n.t("decidim_hospitalet.surveys.questions.categories")].concat(
[
I18n.t("decidim_hospitalet.surveys.questions.email"),
I18n.t("decidim_hospitalet.surveys.questions.categories")
].concat(
COMMON_FIELDS.map do |field|
I18n.t("decidim_hospitalet.surveys.questions.#{field}")
end
Expand All @@ -40,7 +43,10 @@ def headers
def fields
@surveys.map do |survey|
CSV.generate_line(
[survey.categories.map {|c| c.name[I18n.locale.to_s] }.join(";")].concat(
[
survey.user&.email,
survey.categories.map {|c| c.name[I18n.locale.to_s] }.join(";")
].concat(
COMMON_FIELDS.map { |field| survey.send(field) }
)
)
Expand Down
2 changes: 1 addition & 1 deletion engines/decidim_hospitalet-surveys/config/i18n-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ base_locale: ca
locales: [ca, es]
ignore_unused:
- "decidim.features.hospitalet_surveys.name"
- "devise.mailer.invite_user.subject"
- "devise.mailer.invite_user.subject"
8 changes: 6 additions & 2 deletions engines/decidim_hospitalet-surveys/config/locales/ca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,12 @@ ca:
questions:
age_group: Edat
authorize_lopd: Autoritzo
authorize_lopd_hint: (Dono la meva conformitat per a que les dades personals aportades s’incloguin als fitxers de protecció de dades de titularitat municipal, amb l’única finalitat que sigui em tramesa informació relativa a les activitats de la pròpia enquesta)
categories: 'Selecciona els 4 temes que trobis que són prioritaris en el teu barri per als propers 10 anys:'
authorize_lopd_hint: "(Dono la meva conformitat per a que les dades personals
aportades s’incloguin als fitxers de protecció de dades de titularitat municipal,
amb l’única finalitat que sigui em tramesa informació relativa a les activitats
de la pròpia enquesta)"
categories: 'Selecciona els 4 temes que trobis que són prioritaris en el teu
barri per als propers 10 anys:'
city: A quin municipi vius?
email: Correu electrònic
email_hint: Si omples aquest camp, es convidarà l'usuari a la plataforma i
Expand Down
5 changes: 4 additions & 1 deletion engines/decidim_hospitalet-surveys/config/locales/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ es:
questions:
age_group: Edad
authorize_lopd: Autorizo
authorize_lopd_hint: (Doy mi conformidad para que los datos personales aportados se incluyan en los ficheros de protección de datos de titularidad municipal, con la única finalidad que me sea enviada información relativa a las actividades relacionadas con la presente enquesta)
authorize_lopd_hint: "(Doy mi conformidad para que los datos personales aportados
se incluyan en los ficheros de protección de datos de titularidad municipal,
con la única finalidad que me sea enviada información relativa a las actividades
relacionadas con la presente enquesta)"
categories: 'Selecciona 4 temas que consideres que son prioritarios en tu
barrio para los próximos 10 años:'
city: "¿En qué municipio vives?"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,35 @@ module Surveys

subject { described_class.new(surveys) }

context "#to_data" do
describe "#to_data" do
let(:data) { subject.to_data }
let(:headers) { data.split("\n").first }

it "includes the headers" do
expect(headers).to include("Selecciona els 4 temes que trobis que són prioritaris en el teu barri per als propers 10 anys:")
end

it "includes the surveys data" do
it "includes survey categories" do
surveys.each do |survey|
expect(data).to include("#{survey.categories.map { |c| c.name["ca"] }.join(';')}")
end
end

it "includes user emails" do
surveys.each do |survey|
expect(data).to include("#{survey.user.email}")
end
end

context "when a survey doesn't have a user" do
before do
surveys.last.update_attribute(:user, nil)
end

it "works without user email" do
expect(data.split("\n").length).to eq(4)
end
end
end
end
end
Expand Down