<%= link_to post.title, post %>
+ <% if post.is_group %>
+ <%= I18n.t("activerecord.attributes.#{post.class.name.downcase}.is_group") %>
+ <% end %>
<%= strip_tags(post.rendered_description.to_html) %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 199e837fc..0bdfdcba8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -34,6 +34,10 @@ en: reg_number_seq: User sequence number theme: Theme updated_at: Updated + offer: + is_group: Group offer + inquiry: + is_group: Group inquiry post: category: Category created_at: Created @@ -419,6 +423,8 @@ en: delete_reason: Are you sure to delete this comment? movements: Movements post_form: + group_offer: Is it a group offer? + group_inquiry: Is it a group inquiry? you_can_use: You can use simple_form: error_notification: diff --git a/db/migrate/20190319121401_add_is_group_to_post.rb b/db/migrate/20190319121401_add_is_group_to_post.rb new file mode 100644 index 000000000..5e62aee63 --- /dev/null +++ b/db/migrate/20190319121401_add_is_group_to_post.rb @@ -0,0 +1,5 @@ +class AddIsGroupToPost < ActiveRecord::Migration + def change + add_column :posts, :is_group, :boolean, default: false + end +end diff --git a/db/schema.rb b/db/schema.rb index 38963d039..bcb4a05c1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20181004200104) do +ActiveRecord::Schema.define(version: 20190319121401) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -146,10 +146,11 @@ t.boolean "global" t.datetime "created_at" t.datetime "updated_at" - t.text "tags", array: true + t.text "tags", array: true t.integer "publisher_id" t.integer "organization_id" t.boolean "active", default: true + t.boolean "is_group", default: false end add_index "posts", ["category_id"], name: "index_posts_on_category_id", using: :btree diff --git a/spec/views/inquiries/show.html.erb_spec.rb b/spec/views/inquiries/show.html.erb_spec.rb new file mode 100644 index 000000000..6fea82f5c --- /dev/null +++ b/spec/views/inquiries/show.html.erb_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +RSpec.describe 'inquiries/show' do + let(:organization) { Fabricate(:organization) } + let(:member) { Fabricate(:member, organization: organization) } + let(:inquiry) { Fabricate(:inquiry, user: member.user, organization: organization) } + let(:group_inquiry) { Fabricate(:inquiry, user: member.user, organization: organization, is_group: true) } + let(:destination_account) { Fabricate(:account) } + + + context 'when the user is not logged in' do + before do + allow(view).to receive(:current_user).and_return(nil) + allow(view).to receive(:current_organization).and_return(nil) + end + + context 'when it is not a group inquiry' do + it 'displays a label' do + assign :inquiry, inquiry + assign :destination_account, destination_account + render template: 'inquiries/show' + + expect(rendered).to_not include(I18n.t('activerecord.attributes.inquiry.is_group')) + end + end + + context 'when it is a group inquiry' do + it 'displays a label' do + assign :inquiry, group_inquiry + assign :destination_account, destination_account + render template: 'inquiries/show' + + expect(rendered).to include(I18n.t('activerecord.attributes.inquiry.is_group')) + end + end + end +end diff --git a/spec/views/offers/show.html.erb_spec.rb b/spec/views/offers/show.html.erb_spec.rb index 42b992c78..f7cdf4338 100644 --- a/spec/views/offers/show.html.erb_spec.rb +++ b/spec/views/offers/show.html.erb_spec.rb @@ -4,6 +4,7 @@ let(:organization) { Fabricate(:organization) } let(:member) { Fabricate(:member, organization: organization) } let(:offer) { Fabricate(:offer, user: member.user, organization: organization) } + let(:group_offer) { Fabricate(:offer, user: member.user, organization: organization, is_group: true) } let(:destination_account) { Fabricate(:account) } before do @@ -152,5 +153,25 @@ expect(rendered).to_not include(offer.user.email) end + + context 'when it is not a group offer' do + it 'displays a label' do + assign :offer, offer + assign :destination_account, destination_account + render template: 'offers/show' + + expect(rendered).to_not include(I18n.t('activerecord.attributes.offer.is_group')) + end + end + + context 'when it is a group offer' do + it 'displays a label' do + assign :offer, group_offer + assign :destination_account, destination_account + render template: 'offers/show' + + expect(rendered).to include(I18n.t('activerecord.attributes.offer.is_group')) + end + end end end