module MnoEnterprise::TestingSupport::OrganizationsSharedHelpers
Public Instance Methods
admin_hash_for_organization(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 136 def admin_hash_for_organization(organization) hash = {} hash['organization'] = partial_hash_for_organization(organization, true) hash['organization']['members'] = partial_hash_for_members(organization, true) hash['organization']['credit_card'] = {'presence' => false} hash['organization'].merge!(admin_partial_hash_for_invoices(organization)) hash['organization'].merge!(admin_partial_hash_for_active_apps(organization)) hash end
admin_partial_hash_for_active_apps(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 159 def admin_partial_hash_for_active_apps(organization) hash = {'active_apps' => []} organization.app_instances.select { |app| app.status == "running" }.each do |active_apps| hash['active_apps'].push({ 'id' => active_apps.id, 'name' => active_apps.name, 'stack' => active_apps.stack, 'uid' => active_apps.uid, 'app_name' => active_apps.app.name, 'app_logo' => active_apps.app.logo }) end hash end
admin_partial_hash_for_invoices(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 146 def admin_partial_hash_for_invoices(organization) hash = {'invoices' => []} organization.invoices.order("ended_at DESC").each do |invoice| hash['invoices'].push({ 'started_at' => invoice.started_at, 'ended_at' => invoice.ended_at, 'amount' => AccountingjsSerializer.serialize(invoice.total_due), 'paid' => invoice.paid? }) end hash end
hash_for_organization(organization, user, admin = false)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 113 def hash_for_organization(organization, user, admin = false) hash = { 'organization' => partial_hash_for_organization(organization), 'current_user' => partial_hash_for_current_user(organization, user) } hash['organization']['members'] = partial_hash_for_members(organization) if user.role(organization) == 'Super Admin' hash.merge!(partial_hash_for_billing(organization)) hash.merge!(partial_hash_for_invoices(organization)) if (cc = organization.credit_card) hash.merge!(partial_hash_for_credit_card(cc)) end if (situations = organization.arrears_situations) hash.merge!(partial_hash_for_arrears_situations(situations)) end end return hash end
hash_for_organizations(organizations, admin = false)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 101 def hash_for_organizations(organizations, admin = false) { 'organizations' => organizations.map { |o| partial_hash_for_organization(o, admin) } } end
hash_for_reduced_organization(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 107 def hash_for_reduced_organization(organization) { 'organization' => partial_hash_for_organization(organization) } end
partial_hash_for_billing(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 78 def partial_hash_for_billing(organization) { 'billing' => { 'current' => organization.current_billing, 'credit' => organization.current_credit } } end
partial_hash_for_credit_card(cc)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 3 def partial_hash_for_credit_card(cc) { 'credit_card' => { 'id' => cc.id, 'title' => cc.title, 'first_name' => cc.first_name, 'last_name' => cc.last_name, 'number' => cc.masked_number, 'month' => cc.month, 'year' => cc.year, 'country' => cc.country, 'verification_value' => 'CVV', 'billing_address' => cc.billing_address, 'billing_city' => cc.billing_city, 'billing_postcode' => cc.billing_postcode, 'billing_country' => cc.billing_country } } end
partial_hash_for_current_user(organization, user)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 68 def partial_hash_for_current_user(organization, user) { 'id' => user.id, 'name' => user.name, 'surname' => user.surname, 'email' => user.email, 'role' => user.role(organization) } end
partial_hash_for_invoices(organization)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 87 def partial_hash_for_invoices(organization) hash = {'invoices' => []} organization.invoices.order("ended_at DESC").each do |invoice| hash['invoices'].push({ 'period' => invoice.period_label, 'amount' => invoice.total_due, 'paid' => invoice.paid?, 'link' => mnoe_enterprise.invoice_path(invoice.slug), }) end return hash end
partial_hash_for_members(organization, admin = false)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 23 def partial_hash_for_members(organization, admin = false) list = [] organization.users.each do |user| u = { 'id' => user.id, 'entity' => 'User', 'name' => user.name, 'surname' => user.surname, 'email' => user.email, 'role' => user.role(organization) } u['uid'] = user.uid if admin list.push(u) end organization.org_invites.each do |invite| list.push({ 'id' => invite.id, 'entity' => 'OrgInvite', 'email' => invite.user_email, 'role' => invite.user_role }) end return list end
partial_hash_for_organization(organization, admin = false)
click to toggle source
# File lib/mno_enterprise/testing_support/organizations_shared_helpers.rb, line 51 def partial_hash_for_organization(organization, admin = false) ret = { 'id' => organization.id, 'name' => organization.name, 'soa_enabled' => organization.soa_enabled, 'account_frozen' => organization.account_frozen, 'payment_restriction' => organization.payment_restriction, 'financial_year_end_month' => organization.financial_year_end_month } if admin ret['uid'] = organization.uid end ret end