diff --git a/app/assets/javascripts/membership_actions.coffee b/app/assets/javascripts/membership_actions.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/membership_actions.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/settings/membership_actions.coffee b/app/assets/javascripts/settings/membership_actions.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/settings/membership_actions.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/membership_actions.scss b/app/assets/stylesheets/membership_actions.scss new file mode 100644 index 00000000..a916dc5b --- /dev/null +++ b/app/assets/stylesheets/membership_actions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the membership_actions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/settings/membership_actions.scss b/app/assets/stylesheets/settings/membership_actions.scss new file mode 100644 index 00000000..66eafd50 --- /dev/null +++ b/app/assets/stylesheets/settings/membership_actions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the settings/membership_actions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/origami/card_payments_controller.rb b/app/controllers/origami/card_payments_controller.rb index 6a0e99c9..1d18e401 100644 --- a/app/controllers/origami/card_payments_controller.rb +++ b/app/controllers/origami/card_payments_controller.rb @@ -5,7 +5,7 @@ class Origami::CardPaymentsController < BaseOrigamiController @membership_rebate_balance = 0 @membership_id = 0 if !@membership_id.nil? - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) if membership_data["status"]==true membership_account_data = membership_data["data"]; diff --git a/app/controllers/origami/others_payments_controller.rb b/app/controllers/origami/others_payments_controller.rb index fa50f6a3..497b37d3 100644 --- a/app/controllers/origami/others_payments_controller.rb +++ b/app/controllers/origami/others_payments_controller.rb @@ -8,7 +8,7 @@ class Origami::OthersPaymentsController < BaseOrigamiController customer_data= Customer.find_by_customer_id(sale_data.customer_id) @membership_id = customer_data.membership_id if !@membership_id.nil? - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) if membership_data["status"]==true membership_account_data = membership_data["data"]; diff --git a/app/controllers/settings/membership_actions_controller.rb b/app/controllers/settings/membership_actions_controller.rb new file mode 100644 index 00000000..97b6a6ba --- /dev/null +++ b/app/controllers/settings/membership_actions_controller.rb @@ -0,0 +1,74 @@ +class Settings::MembershipActionsController < ApplicationController + before_action :set_settings_membership_action, only: [:show, :edit, :update, :destroy] + + # GET /settings/membership_actions + # GET /settings/membership_actions.json + def index + @settings_membership_actions = Settings::MembershipAction.all + end + + # GET /settings/membership_actions/1 + # GET /settings/membership_actions/1.json + def show + end + + # GET /settings/membership_actions/new + def new + @settings_membership_action = Settings::MembershipAction.new + end + + # GET /settings/membership_actions/1/edit + def edit + end + + # POST /settings/membership_actions + # POST /settings/membership_actions.json + def create + @settings_membership_action = Settings::MembershipAction.new(settings_membership_action_params) + + respond_to do |format| + if @settings_membership_action.save + format.html { redirect_to @settings_membership_action, notice: 'Membership action was successfully created.' } + format.json { render :show, status: :created, location: @settings_membership_action } + else + format.html { render :new } + format.json { render json: @settings_membership_action.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /settings/membership_actions/1 + # PATCH/PUT /settings/membership_actions/1.json + def update + respond_to do |format| + if @settings_membership_action.update(settings_membership_action_params) + format.html { redirect_to @settings_membership_action, notice: 'Membership action was successfully updated.' } + format.json { render :show, status: :ok, location: @settings_membership_action } + else + format.html { render :edit } + format.json { render json: @settings_membership_action.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /settings/membership_actions/1 + # DELETE /settings/membership_actions/1.json + def destroy + @settings_membership_action.destroy + respond_to do |format| + format.html { redirect_to settings_membership_actions_url, notice: 'Membership action was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_settings_membership_action + @settings_membership_action = Settings::MembershipAction.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def settings_membership_action_params + params.require(:settings_membership_action).permit(:membership_type, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :created_by, :additional_parameter) + end +end diff --git a/app/controllers/settings/payment_method_settings_controller.rb b/app/controllers/settings/payment_method_settings_controller.rb index ce27f725..f3ac595e 100644 --- a/app/controllers/settings/payment_method_settings_controller.rb +++ b/app/controllers/settings/payment_method_settings_controller.rb @@ -69,6 +69,6 @@ class Settings::PaymentMethodSettingsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_payment_method_setting_params - params.require(:payment_method_setting).permit(:payment_method, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id) + params.require(:payment_method_setting).permit(:payment_method, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :additional_parameters) end end diff --git a/app/helpers/settings/membership_actions_helper.rb b/app/helpers/settings/membership_actions_helper.rb new file mode 100644 index 00000000..038ec51f --- /dev/null +++ b/app/helpers/settings/membership_actions_helper.rb @@ -0,0 +1,2 @@ +module Settings::MembershipActionsHelper +end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index cb17a325..e4ec8c10 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -174,7 +174,6 @@ class SalePayment < ApplicationRecord end def paypar_payment - puts "Paypar Payment" payment_status = false #Next time - validate if the vochure number is valid - within @@ -187,7 +186,7 @@ class SalePayment < ApplicationRecord campaign_type_id =1; customer_data = Customer.find_by_customer_id(self.sale.customer_id) - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.redeem(membership_setting.gateway_url,membership_setting.auth_token,customer_data.membership_id,self.received_amount,self.sale.sale_id,campaign_type_id) if membership_data["status"]==true SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid') diff --git a/app/models/settings/membership_action.rb b/app/models/settings/membership_action.rb new file mode 100644 index 00000000..814e4b97 --- /dev/null +++ b/app/models/settings/membership_action.rb @@ -0,0 +1,2 @@ +class Settings::MembershipAction < ApplicationRecord +end diff --git a/app/views/settings/membership_actions/_form.html.erb b/app/views/settings/membership_actions/_form.html.erb new file mode 100644 index 00000000..9f4a2cd5 --- /dev/null +++ b/app/views/settings/membership_actions/_form.html.erb @@ -0,0 +1,18 @@ +<%= simple_form_for(@settings_membership_action) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :membership_type %> + <%= f.input :is_active %> + <%= f.input :gateway_communication_type %> + <%= f.input :gateway_url %> + <%= f.input :auth_token %> + <%= f.input :merchant_account_id %> + <%= f.input :created_by %> + <%= f.input :additional_parameter %> +
+ +
+ <%= f.button :submit %> +
+<% end %> diff --git a/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder b/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder new file mode 100644 index 00000000..30c691d4 --- /dev/null +++ b/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! settings_membership_action, :id, :membership_type, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :created_by, :additional_parameter, :created_at, :updated_at +json.url settings_membership_action_url(settings_membership_action, format: :json) diff --git a/app/views/settings/membership_actions/edit.html.erb b/app/views/settings/membership_actions/edit.html.erb new file mode 100644 index 00000000..3373d008 --- /dev/null +++ b/app/views/settings/membership_actions/edit.html.erb @@ -0,0 +1,6 @@ +

Editing Settings Membership Action

+ +<%= render 'form', settings_membership_action: @settings_membership_action %> + +<%= link_to 'Show', @settings_membership_action %> | +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/index.html.erb b/app/views/settings/membership_actions/index.html.erb new file mode 100644 index 00000000..80b4420e --- /dev/null +++ b/app/views/settings/membership_actions/index.html.erb @@ -0,0 +1,41 @@ +

<%= notice %>

+ +

Settings Membership Actions

+ + + + + + + + + + + + + + + + + + <% @settings_membership_actions.each do |settings_membership_action| %> + + + + + + + + + + + + + + <% end %> + +
Membership typeIs activeGateway communication typeGateway urlAuth tokenMerchant accountCreated byAdditional parameter
<%= settings_membership_action.membership_type %><%= settings_membership_action.is_active %><%= settings_membership_action.gateway_communication_type %><%= settings_membership_action.gateway_url %><%= settings_membership_action.auth_token %><%= settings_membership_action.merchant_account_id %><%= settings_membership_action.created_by %><%= settings_membership_action.additional_parameter %><%= link_to 'Show', settings_membership_action %><%= link_to 'Edit', edit_settings_membership_action_path(settings_membership_action) %><%= link_to 'Destroy', settings_membership_action, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New Settings Membership Action', new_settings_membership_action_path %> diff --git a/app/views/settings/membership_actions/index.json.jbuilder b/app/views/settings/membership_actions/index.json.jbuilder new file mode 100644 index 00000000..0b90b195 --- /dev/null +++ b/app/views/settings/membership_actions/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @settings_membership_actions, partial: 'settings_membership_actions/settings_membership_action', as: :settings_membership_action diff --git a/app/views/settings/membership_actions/new.html.erb b/app/views/settings/membership_actions/new.html.erb new file mode 100644 index 00000000..802e887a --- /dev/null +++ b/app/views/settings/membership_actions/new.html.erb @@ -0,0 +1,5 @@ +

New Settings Membership Action

+ +<%= render 'form', settings_membership_action: @settings_membership_action %> + +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/show.html.erb b/app/views/settings/membership_actions/show.html.erb new file mode 100644 index 00000000..ee285af8 --- /dev/null +++ b/app/views/settings/membership_actions/show.html.erb @@ -0,0 +1,44 @@ +

<%= notice %>

+ +

+ Membership type: + <%= @settings_membership_action.membership_type %> +

+ +

+ Is active: + <%= @settings_membership_action.is_active %> +

+ +

+ Gateway communication type: + <%= @settings_membership_action.gateway_communication_type %> +

+ +

+ Gateway url: + <%= @settings_membership_action.gateway_url %> +

+ +

+ Auth token: + <%= @settings_membership_action.auth_token %> +

+ +

+ Merchant account: + <%= @settings_membership_action.merchant_account_id %> +

+ +

+ Created by: + <%= @settings_membership_action.created_by %> +

+ +

+ Additional parameter: + <%= @settings_membership_action.additional_parameter %> +

+ +<%= link_to 'Edit', edit_settings_membership_action_path(@settings_membership_action) %> | +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/show.json.jbuilder b/app/views/settings/membership_actions/show.json.jbuilder new file mode 100644 index 00000000..aa642795 --- /dev/null +++ b/app/views/settings/membership_actions/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "settings_membership_actions/settings_membership_action", settings_membership_action: @settings_membership_action diff --git a/app/views/settings/payment_method_settings/_form.html.erb b/app/views/settings/payment_method_settings/_form.html.erb index 740ad046..c8a72dbc 100644 --- a/app/views/settings/payment_method_settings/_form.html.erb +++ b/app/views/settings/payment_method_settings/_form.html.erb @@ -8,6 +8,7 @@ <%= f.input :gateway_url %> <%= f.input :auth_token %> <%= f.input :merchant_account_id %> + <%= f.input :additional_parameters %>
diff --git a/config/routes.rb b/config/routes.rb index b6452d26..cfe6ef44 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,10 @@ require 'sidekiq/web' Rails.application.routes.draw do - + + namespace :settings do + resources :membership_actions + end root 'home#index' mount Sidekiq::Web => '/kiq' diff --git a/db/migrate/20170331024747_create_accounts.rb b/db/migrate/20170331024747_create_accounts.rb deleted file mode 100644 index 5816aace..00000000 --- a/db/migrate/20170331024747_create_accounts.rb +++ /dev/null @@ -1,10 +0,0 @@ -class CreateAccounts < ActiveRecord::Migration[5.1] - def change - create_table :accounts do |t| - t.string :title - t.string :account_type - - t.timestamps - end - end -end diff --git a/db/migrate/20170421171849_add_company_address_email.rb b/db/migrate/20170421171849_add_company_address_email.rb index 81667406..3bf6602e 100644 --- a/db/migrate/20170421171849_add_company_address_email.rb +++ b/db/migrate/20170421171849_add_company_address_email.rb @@ -1,4 +1,5 @@ class AddCompanyAddressEmail < ActiveRecord::Migration[5.1] def change + add_column :order_items, :completed_by, :string end end diff --git a/db/migrate/20170507045043_order_items_completed_by.rb b/db/migrate/20170507045043_order_items_completed_by.rb deleted file mode 100644 index c6c791c0..00000000 --- a/db/migrate/20170507045043_order_items_completed_by.rb +++ /dev/null @@ -1,6 +0,0 @@ -class OrderItemsCompletedBy < ActiveRecord::Migration[5.1] - def change - add_column :order_items, :completed_by, :string - add_column :order_items, :completed_at, :datetime - end -end diff --git a/db/migrate/20170608104900_create_settings_membership_actions.rb b/db/migrate/20170608104900_create_settings_membership_actions.rb new file mode 100644 index 00000000..2b9dd85d --- /dev/null +++ b/db/migrate/20170608104900_create_settings_membership_actions.rb @@ -0,0 +1,16 @@ +class CreateSettingsMembershipActions < ActiveRecord::Migration[5.1] + def change + create_table :settings_membership_actions do |t| + t.string :membership_type + t.boolean :is_active + t.string :gateway_communication_type + t.string :gateway_url + t.string :auth_token + t.string :merchant_account_id + t.string :created_by + t.string :additional_parameter + + t.timestamps + end + end +end diff --git a/db/migrate/20170608111602_additionparametertopaymentsettings.rb b/db/migrate/20170608111602_additionparametertopaymentsettings.rb new file mode 100644 index 00000000..ec85c209 --- /dev/null +++ b/db/migrate/20170608111602_additionparametertopaymentsettings.rb @@ -0,0 +1,5 @@ +class Additionparametertopaymentsettings < ActiveRecord::Migration[5.1] + def change + add_column :payment_method_settings, :additional_parameters, :string + end +end diff --git a/dump.rdb b/dump.rdb index 3e3686b7..35382006 100644 Binary files a/dump.rdb and b/dump.rdb differ diff --git a/spec/controllers/membership_actions_controller_spec.rb b/spec/controllers/membership_actions_controller_spec.rb new file mode 100644 index 00000000..f22e7497 --- /dev/null +++ b/spec/controllers/membership_actions_controller_spec.rb @@ -0,0 +1,141 @@ +require 'rails_helper' + +# This spec was generated by rspec-rails when you ran the scaffold generator. +# It demonstrates how one might use RSpec to specify the controller code that +# was generated by Rails when you ran the scaffold generator. +# +# It assumes that the implementation code is generated by the rails scaffold +# generator. If you are using any extension libraries to generate different +# controller code, this generated spec may or may not pass. +# +# It only uses APIs available in rails and/or rspec-rails. There are a number +# of tools you can use to make these specs even more expressive, but we're +# sticking to rails and rspec-rails APIs to keep things simple and stable. +# +# Compared to earlier versions of this generator, there is very limited use of +# stubs and message expectations in this spec. Stubs are only used when there +# is no simpler way to get a handle on the object needed for the example. +# Message expectations are only used when there is no simpler way to specify +# that an instance is receiving a specific message. +# +# Also compared to earlier versions of this generator, there are no longer any +# expectations of assigns and templates rendered. These features have been +# removed from Rails core in Rails 5, but can be added back in via the +# `rails-controller-testing` gem. + +RSpec.describe MembershipActionsController, type: :controller do + + # This should return the minimal set of attributes required to create a valid + # MembershipAction. As you add validations to MembershipAction, be sure to + # adjust the attributes here as well. + let(:valid_attributes) { + skip("Add a hash of attributes valid for your model") + } + + let(:invalid_attributes) { + skip("Add a hash of attributes invalid for your model") + } + + # This should return the minimal set of values that should be in the session + # in order to pass any filters (e.g. authentication) defined in + # MembershipActionsController. Be sure to keep this updated too. + let(:valid_session) { {} } + + describe "GET #index" do + it "returns a success response" do + membership_action = MembershipAction.create! valid_attributes + get :index, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #show" do + it "returns a success response" do + membership_action = MembershipAction.create! valid_attributes + get :show, params: {id: membership_action.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #new" do + it "returns a success response" do + get :new, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #edit" do + it "returns a success response" do + membership_action = MembershipAction.create! valid_attributes + get :edit, params: {id: membership_action.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "POST #create" do + context "with valid params" do + it "creates a new MembershipAction" do + expect { + post :create, params: {membership_action: valid_attributes}, session: valid_session + }.to change(MembershipAction, :count).by(1) + end + + it "redirects to the created membership_action" do + post :create, params: {membership_action: valid_attributes}, session: valid_session + expect(response).to redirect_to(MembershipAction.last) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'new' template)" do + post :create, params: {membership_action: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "PUT #update" do + context "with valid params" do + let(:new_attributes) { + skip("Add a hash of attributes valid for your model") + } + + it "updates the requested membership_action" do + membership_action = MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, membership_action: new_attributes}, session: valid_session + membership_action.reload + skip("Add assertions for updated state") + end + + it "redirects to the membership_action" do + membership_action = MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, membership_action: valid_attributes}, session: valid_session + expect(response).to redirect_to(membership_action) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'edit' template)" do + membership_action = MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, membership_action: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "DELETE #destroy" do + it "destroys the requested membership_action" do + membership_action = MembershipAction.create! valid_attributes + expect { + delete :destroy, params: {id: membership_action.to_param}, session: valid_session + }.to change(MembershipAction, :count).by(-1) + end + + it "redirects to the membership_actions list" do + membership_action = MembershipAction.create! valid_attributes + delete :destroy, params: {id: membership_action.to_param}, session: valid_session + expect(response).to redirect_to(membership_actions_url) + end + end + +end diff --git a/spec/controllers/settings/membership_actions_controller_spec.rb b/spec/controllers/settings/membership_actions_controller_spec.rb new file mode 100644 index 00000000..af030c74 --- /dev/null +++ b/spec/controllers/settings/membership_actions_controller_spec.rb @@ -0,0 +1,141 @@ +require 'rails_helper' + +# This spec was generated by rspec-rails when you ran the scaffold generator. +# It demonstrates how one might use RSpec to specify the controller code that +# was generated by Rails when you ran the scaffold generator. +# +# It assumes that the implementation code is generated by the rails scaffold +# generator. If you are using any extension libraries to generate different +# controller code, this generated spec may or may not pass. +# +# It only uses APIs available in rails and/or rspec-rails. There are a number +# of tools you can use to make these specs even more expressive, but we're +# sticking to rails and rspec-rails APIs to keep things simple and stable. +# +# Compared to earlier versions of this generator, there is very limited use of +# stubs and message expectations in this spec. Stubs are only used when there +# is no simpler way to get a handle on the object needed for the example. +# Message expectations are only used when there is no simpler way to specify +# that an instance is receiving a specific message. +# +# Also compared to earlier versions of this generator, there are no longer any +# expectations of assigns and templates rendered. These features have been +# removed from Rails core in Rails 5, but can be added back in via the +# `rails-controller-testing` gem. + +RSpec.describe Settings::MembershipActionsController, type: :controller do + + # This should return the minimal set of attributes required to create a valid + # Settings::MembershipAction. As you add validations to Settings::MembershipAction, be sure to + # adjust the attributes here as well. + let(:valid_attributes) { + skip("Add a hash of attributes valid for your model") + } + + let(:invalid_attributes) { + skip("Add a hash of attributes invalid for your model") + } + + # This should return the minimal set of values that should be in the session + # in order to pass any filters (e.g. authentication) defined in + # Settings::MembershipActionsController. Be sure to keep this updated too. + let(:valid_session) { {} } + + describe "GET #index" do + it "returns a success response" do + membership_action = Settings::MembershipAction.create! valid_attributes + get :index, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #show" do + it "returns a success response" do + membership_action = Settings::MembershipAction.create! valid_attributes + get :show, params: {id: membership_action.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #new" do + it "returns a success response" do + get :new, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #edit" do + it "returns a success response" do + membership_action = Settings::MembershipAction.create! valid_attributes + get :edit, params: {id: membership_action.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "POST #create" do + context "with valid params" do + it "creates a new Settings::MembershipAction" do + expect { + post :create, params: {settings_membership_action: valid_attributes}, session: valid_session + }.to change(Settings::MembershipAction, :count).by(1) + end + + it "redirects to the created settings_membership_action" do + post :create, params: {settings_membership_action: valid_attributes}, session: valid_session + expect(response).to redirect_to(Settings::MembershipAction.last) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'new' template)" do + post :create, params: {settings_membership_action: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "PUT #update" do + context "with valid params" do + let(:new_attributes) { + skip("Add a hash of attributes valid for your model") + } + + it "updates the requested settings_membership_action" do + membership_action = Settings::MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, settings_membership_action: new_attributes}, session: valid_session + membership_action.reload + skip("Add assertions for updated state") + end + + it "redirects to the settings_membership_action" do + membership_action = Settings::MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, settings_membership_action: valid_attributes}, session: valid_session + expect(response).to redirect_to(membership_action) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'edit' template)" do + membership_action = Settings::MembershipAction.create! valid_attributes + put :update, params: {id: membership_action.to_param, settings_membership_action: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "DELETE #destroy" do + it "destroys the requested settings_membership_action" do + membership_action = Settings::MembershipAction.create! valid_attributes + expect { + delete :destroy, params: {id: membership_action.to_param}, session: valid_session + }.to change(Settings::MembershipAction, :count).by(-1) + end + + it "redirects to the settings_membership_actions list" do + membership_action = Settings::MembershipAction.create! valid_attributes + delete :destroy, params: {id: membership_action.to_param}, session: valid_session + expect(response).to redirect_to(settings_membership_actions_url) + end + end + +end diff --git a/spec/helpers/membership_actions_helper_spec.rb b/spec/helpers/membership_actions_helper_spec.rb new file mode 100644 index 00000000..d1dded48 --- /dev/null +++ b/spec/helpers/membership_actions_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the MembershipActionsHelper. For example: +# +# describe MembershipActionsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe MembershipActionsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/helpers/settings/membership_actions_helper_spec.rb b/spec/helpers/settings/membership_actions_helper_spec.rb new file mode 100644 index 00000000..16ba4a4d --- /dev/null +++ b/spec/helpers/settings/membership_actions_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the Settings::MembershipActionsHelper. For example: +# +# describe Settings::MembershipActionsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe Settings::MembershipActionsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/membership_action_spec.rb b/spec/models/membership_action_spec.rb new file mode 100644 index 00000000..9f39102d --- /dev/null +++ b/spec/models/membership_action_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe MembershipAction, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/settings/membership_action_spec.rb b/spec/models/settings/membership_action_spec.rb new file mode 100644 index 00000000..eeab228c --- /dev/null +++ b/spec/models/settings/membership_action_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Settings::MembershipAction, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/requests/membership_actions_spec.rb b/spec/requests/membership_actions_spec.rb new file mode 100644 index 00000000..096fdf9f --- /dev/null +++ b/spec/requests/membership_actions_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe "MembershipActions", type: :request do + describe "GET /membership_actions" do + it "works! (now write some real specs)" do + get membership_actions_path + expect(response).to have_http_status(200) + end + end +end diff --git a/spec/requests/settings/settings_membership_actions_spec.rb b/spec/requests/settings/settings_membership_actions_spec.rb new file mode 100644 index 00000000..4ac7e179 --- /dev/null +++ b/spec/requests/settings/settings_membership_actions_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe "Settings::MembershipActions", type: :request do + describe "GET /settings_membership_actions" do + it "works! (now write some real specs)" do + get settings_membership_actions_path + expect(response).to have_http_status(200) + end + end +end diff --git a/spec/routing/membership_actions_routing_spec.rb b/spec/routing/membership_actions_routing_spec.rb new file mode 100644 index 00000000..dd5cd196 --- /dev/null +++ b/spec/routing/membership_actions_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe MembershipActionsController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/membership_actions").to route_to("membership_actions#index") + end + + it "routes to #new" do + expect(:get => "/membership_actions/new").to route_to("membership_actions#new") + end + + it "routes to #show" do + expect(:get => "/membership_actions/1").to route_to("membership_actions#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/membership_actions/1/edit").to route_to("membership_actions#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/membership_actions").to route_to("membership_actions#create") + end + + it "routes to #update via PUT" do + expect(:put => "/membership_actions/1").to route_to("membership_actions#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/membership_actions/1").to route_to("membership_actions#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/membership_actions/1").to route_to("membership_actions#destroy", :id => "1") + end + + end +end diff --git a/spec/routing/settings/membership_actions_routing_spec.rb b/spec/routing/settings/membership_actions_routing_spec.rb new file mode 100644 index 00000000..137464f4 --- /dev/null +++ b/spec/routing/settings/membership_actions_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe Settings::MembershipActionsController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/settings/membership_actions").to route_to("settings/membership_actions#index") + end + + it "routes to #new" do + expect(:get => "/settings/membership_actions/new").to route_to("settings/membership_actions#new") + end + + it "routes to #show" do + expect(:get => "/settings/membership_actions/1").to route_to("settings/membership_actions#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/settings/membership_actions/1/edit").to route_to("settings/membership_actions#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/settings/membership_actions").to route_to("settings/membership_actions#create") + end + + it "routes to #update via PUT" do + expect(:put => "/settings/membership_actions/1").to route_to("settings/membership_actions#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/settings/membership_actions/1").to route_to("settings/membership_actions#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/settings/membership_actions/1").to route_to("settings/membership_actions#destroy", :id => "1") + end + + end +end diff --git a/spec/views/membership_actions/edit.html.erb_spec.rb b/spec/views/membership_actions/edit.html.erb_spec.rb new file mode 100644 index 00000000..77823c89 --- /dev/null +++ b/spec/views/membership_actions/edit.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/edit", type: :view do + before(:each) do + @membership_action = assign(:membership_action, MembershipAction.create!( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "" + )) + end + + it "renders the edit membership_action form" do + render + + assert_select "form[action=?][method=?]", membership_action_path(@membership_action), "post" do + + assert_select "input[name=?]", "membership_action[membership_type]" + + assert_select "input[name=?]", "membership_action[is_active]" + + assert_select "input[name=?]", "membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "membership_action[gateway_url]" + + assert_select "input[name=?]", "membership_action[auth_token]" + + assert_select "input[name=?]", "membership_action[merchant_account_id]" + + assert_select "input[name=?]", "membership_action[created_by]" + + assert_select "input[name=?]", "membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/membership_actions/index.html.erb_spec.rb b/spec/views/membership_actions/index.html.erb_spec.rb new file mode 100644 index 00000000..a8913079 --- /dev/null +++ b/spec/views/membership_actions/index.html.erb_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/index", type: :view do + before(:each) do + assign(:membership_actions, [ + MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + ), + MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + ) + ]) + end + + it "renders a list of membership_actions" do + render + assert_select "tr>td", :text => "Membership Type".to_s, :count => 2 + assert_select "tr>td", :text => false.to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Communication Type".to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Url".to_s, :count => 2 + assert_select "tr>td", :text => "Auth Token".to_s, :count => 2 + assert_select "tr>td", :text => "Merchant Account".to_s, :count => 2 + assert_select "tr>td", :text => "Created By".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + end +end diff --git a/spec/views/membership_actions/new.html.erb_spec.rb b/spec/views/membership_actions/new.html.erb_spec.rb new file mode 100644 index 00000000..e6cf42ea --- /dev/null +++ b/spec/views/membership_actions/new.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/new", type: :view do + before(:each) do + assign(:membership_action, MembershipAction.new( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "" + )) + end + + it "renders new membership_action form" do + render + + assert_select "form[action=?][method=?]", membership_actions_path, "post" do + + assert_select "input[name=?]", "membership_action[membership_type]" + + assert_select "input[name=?]", "membership_action[is_active]" + + assert_select "input[name=?]", "membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "membership_action[gateway_url]" + + assert_select "input[name=?]", "membership_action[auth_token]" + + assert_select "input[name=?]", "membership_action[merchant_account_id]" + + assert_select "input[name=?]", "membership_action[created_by]" + + assert_select "input[name=?]", "membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/membership_actions/show.html.erb_spec.rb b/spec/views/membership_actions/show.html.erb_spec.rb new file mode 100644 index 00000000..5e52c84b --- /dev/null +++ b/spec/views/membership_actions/show.html.erb_spec.rb @@ -0,0 +1,28 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/show", type: :view do + before(:each) do + @membership_action = assign(:membership_action, MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + )) + end + + it "renders attributes in

" do + render + expect(rendered).to match(/Membership Type/) + expect(rendered).to match(/false/) + expect(rendered).to match(/Gateway Communication Type/) + expect(rendered).to match(/Gateway Url/) + expect(rendered).to match(/Auth Token/) + expect(rendered).to match(/Merchant Account/) + expect(rendered).to match(/Created By/) + expect(rendered).to match(//) + end +end diff --git a/spec/views/settings/membership_actions/edit.html.erb_spec.rb b/spec/views/settings/membership_actions/edit.html.erb_spec.rb new file mode 100644 index 00000000..be5958c5 --- /dev/null +++ b/spec/views/settings/membership_actions/edit.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/edit", type: :view do + before(:each) do + @settings_membership_action = assign(:settings_membership_action, Settings::MembershipAction.create!( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "MyString" + )) + end + + it "renders the edit settings_membership_action form" do + render + + assert_select "form[action=?][method=?]", settings_membership_action_path(@settings_membership_action), "post" do + + assert_select "input[name=?]", "settings_membership_action[membership_type]" + + assert_select "input[name=?]", "settings_membership_action[is_active]" + + assert_select "input[name=?]", "settings_membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "settings_membership_action[gateway_url]" + + assert_select "input[name=?]", "settings_membership_action[auth_token]" + + assert_select "input[name=?]", "settings_membership_action[merchant_account_id]" + + assert_select "input[name=?]", "settings_membership_action[created_by]" + + assert_select "input[name=?]", "settings_membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/settings/membership_actions/index.html.erb_spec.rb b/spec/views/settings/membership_actions/index.html.erb_spec.rb new file mode 100644 index 00000000..9f8ea799 --- /dev/null +++ b/spec/views/settings/membership_actions/index.html.erb_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/index", type: :view do + before(:each) do + assign(:settings_membership_actions, [ + Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + ), + Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + ) + ]) + end + + it "renders a list of settings/membership_actions" do + render + assert_select "tr>td", :text => "Membership Type".to_s, :count => 2 + assert_select "tr>td", :text => false.to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Communication Type".to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Url".to_s, :count => 2 + assert_select "tr>td", :text => "Auth Token".to_s, :count => 2 + assert_select "tr>td", :text => "Merchant Account".to_s, :count => 2 + assert_select "tr>td", :text => "Created By".to_s, :count => 2 + assert_select "tr>td", :text => "Additional Parameter".to_s, :count => 2 + end +end diff --git a/spec/views/settings/membership_actions/new.html.erb_spec.rb b/spec/views/settings/membership_actions/new.html.erb_spec.rb new file mode 100644 index 00000000..506e06e9 --- /dev/null +++ b/spec/views/settings/membership_actions/new.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/new", type: :view do + before(:each) do + assign(:settings_membership_action, Settings::MembershipAction.new( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "MyString" + )) + end + + it "renders new settings_membership_action form" do + render + + assert_select "form[action=?][method=?]", settings_membership_actions_path, "post" do + + assert_select "input[name=?]", "settings_membership_action[membership_type]" + + assert_select "input[name=?]", "settings_membership_action[is_active]" + + assert_select "input[name=?]", "settings_membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "settings_membership_action[gateway_url]" + + assert_select "input[name=?]", "settings_membership_action[auth_token]" + + assert_select "input[name=?]", "settings_membership_action[merchant_account_id]" + + assert_select "input[name=?]", "settings_membership_action[created_by]" + + assert_select "input[name=?]", "settings_membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/settings/membership_actions/show.html.erb_spec.rb b/spec/views/settings/membership_actions/show.html.erb_spec.rb new file mode 100644 index 00000000..1f625a0a --- /dev/null +++ b/spec/views/settings/membership_actions/show.html.erb_spec.rb @@ -0,0 +1,28 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/show", type: :view do + before(:each) do + @settings_membership_action = assign(:settings_membership_action, Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + )) + end + + it "renders attributes in

" do + render + expect(rendered).to match(/Membership Type/) + expect(rendered).to match(/false/) + expect(rendered).to match(/Gateway Communication Type/) + expect(rendered).to match(/Gateway Url/) + expect(rendered).to match(/Auth Token/) + expect(rendered).to match(/Merchant Account/) + expect(rendered).to match(/Created By/) + expect(rendered).to match(/Additional Parameter/) + end +end diff --git a/test/system/membership_actions_test.rb b/test/system/membership_actions_test.rb new file mode 100644 index 00000000..6223e2a5 --- /dev/null +++ b/test/system/membership_actions_test.rb @@ -0,0 +1,9 @@ +require "application_system_test_case" + +class Settings::MembershipActionsTest < ApplicationSystemTestCase + # test "visiting the index" do + # visit settings_membership_actions_url + # + # assert_selector "h1", text: "Settings::MembershipAction" + # end +end