From c2bf2cd7b72d894526eca6b5f170b3ba67391ed6 Mon Sep 17 00:00:00 2001 From: Julien Bourdeau Date: Mon, 29 Jul 2024 16:48:25 +0200 Subject: [PATCH] fix(db): Rename `invoice_require_successful_payment` to add S --- .../api/v1/wallet_transactions_controller.rb | 2 +- app/controllers/api/v1/wallets_controller.rb | 8 +-- .../mutations/wallet_transactions/create.rb | 2 +- .../types/wallet_transactions/object.rb | 2 +- app/graphql/types/wallets/object.rb | 2 +- app/serializers/v1/wallet_serializer.rb | 2 +- .../v1/wallet_transaction_serializer.rb | 2 +- .../recurring_transaction_rule_serializer.rb | 2 +- .../wallet_transactions/create_service.rb | 18 +++---- ...te_interval_wallet_transactions_service.rb | 2 +- app/services/wallets/create_service.rb | 4 +- .../create_service.rb | 6 +-- .../update_service.rb | 4 +- .../wallets/threshold_top_up_service.rb | 2 +- app/services/wallets/update_service.rb | 4 +- ..._add_invoice_require_successful_payment.rb | 11 ---- ...add_invoice_requires_successful_payment.rb | 11 ++++ db/schema.rb | 7 +-- schema.graphql | 6 +-- schema.json | 6 +-- .../wallet_transactions/create_spec.rb | 6 +-- .../types/wallet_transactions/object_spec.rb | 2 +- spec/graphql/types/wallets/object_spec.rb | 2 +- .../api/v1/wallets_controller_spec.rb | 54 +++++++++---------- spec/serializers/v1/wallet_serializer_spec.rb | 2 +- .../v1/wallet_transaction_serializer_spec.rb | 2 +- ...urring_transaction_rule_serializer_spec.rb | 2 +- ...terval_wallet_transactions_service_spec.rb | 26 ++++----- spec/services/wallets/create_service_spec.rb | 8 +-- .../create_service_spec.rb | 14 ++--- .../wallets/threshold_top_up_service_spec.rb | 8 +-- spec/services/wallets/update_service_spec.rb | 4 +- 32 files changed, 117 insertions(+), 116 deletions(-) delete mode 100644 db/migrate/20240723150304_add_invoice_require_successful_payment.rb create mode 100644 db/migrate/20240723150304_add_invoice_requires_successful_payment.rb diff --git a/app/controllers/api/v1/wallet_transactions_controller.rb b/app/controllers/api/v1/wallet_transactions_controller.rb index d122afc17b4..c0848480507 100644 --- a/app/controllers/api/v1/wallet_transactions_controller.rb +++ b/app/controllers/api/v1/wallet_transactions_controller.rb @@ -54,7 +54,7 @@ def input_params :paid_credits, :granted_credits, :voided_credits, - :invoice_require_successful_payment + :invoice_requires_successful_payment ) end end diff --git a/app/controllers/api/v1/wallets_controller.rb b/app/controllers/api/v1/wallets_controller.rb index 2fd7adb7bcc..834e01fd87a 100644 --- a/app/controllers/api/v1/wallets_controller.rb +++ b/app/controllers/api/v1/wallets_controller.rb @@ -80,7 +80,7 @@ def input_params :paid_credits, :granted_credits, :expiration_at, - :invoice_require_successful_payment, + :invoice_requires_successful_payment, recurring_transaction_rules: [ :granted_credits, :interval, @@ -90,7 +90,7 @@ def input_params :target_ongoing_balance, :threshold_credits, :trigger, - :invoice_require_successful_payment + :invoice_requires_successful_payment ] ) end @@ -103,7 +103,7 @@ def update_params params.require(:wallet).permit( :name, :expiration_at, - :invoice_require_successful_payment, + :invoice_requires_successful_payment, recurring_transaction_rules: [ :lago_id, :interval, @@ -114,7 +114,7 @@ def update_params :trigger, :paid_credits, :granted_credits, - :invoice_require_successful_payment + :invoice_requires_successful_payment ] ) end diff --git a/app/graphql/mutations/wallet_transactions/create.rb b/app/graphql/mutations/wallet_transactions/create.rb index 0b1e0473c5f..d1a1f6bab3f 100644 --- a/app/graphql/mutations/wallet_transactions/create.rb +++ b/app/graphql/mutations/wallet_transactions/create.rb @@ -14,7 +14,7 @@ class Create < BaseMutation argument :wallet_id, ID, required: true argument :granted_credits, String, required: false - argument :invoice_require_successful_payment, Boolean, required: false + argument :invoice_requires_successful_payment, Boolean, required: false argument :paid_credits, String, required: false argument :voided_credits, String, required: false diff --git a/app/graphql/types/wallet_transactions/object.rb b/app/graphql/types/wallet_transactions/object.rb index 5f11a68e49d..53a74fe8bc5 100644 --- a/app/graphql/types/wallet_transactions/object.rb +++ b/app/graphql/types/wallet_transactions/object.rb @@ -10,7 +10,7 @@ class Object < Types::BaseObject field :amount, String, null: false field :credit_amount, String, null: false - field :invoice_require_successful_payment, Boolean, null: false + field :invoice_requires_successful_payment, Boolean, null: false field :status, Types::WalletTransactions::StatusEnum, null: false field :transaction_status, Types::WalletTransactions::TransactionStatusEnum, null: false field :transaction_type, Types::WalletTransactions::TransactionTypeEnum, null: false diff --git a/app/graphql/types/wallets/object.rb b/app/graphql/types/wallets/object.rb index ddf23695db5..5455f010b5b 100644 --- a/app/graphql/types/wallets/object.rb +++ b/app/graphql/types/wallets/object.rb @@ -31,7 +31,7 @@ class Object < Types::BaseObject field :recurring_transaction_rules, [Types::Wallets::RecurringTransactionRules::Object], null: true - field :invoice_require_successful_payment, Boolean, null: false + field :invoice_requires_successful_payment, Boolean, null: false field :created_at, GraphQL::Types::ISO8601DateTime, null: false field :expiration_at, GraphQL::Types::ISO8601DateTime, null: true diff --git a/app/serializers/v1/wallet_serializer.rb b/app/serializers/v1/wallet_serializer.rb index 64a4f4de4b1..3fd0428fc2c 100644 --- a/app/serializers/v1/wallet_serializer.rb +++ b/app/serializers/v1/wallet_serializer.rb @@ -23,7 +23,7 @@ def serialize last_balance_sync_at: model.last_balance_sync_at&.iso8601, last_consumed_credit_at: model.last_consumed_credit_at&.iso8601, terminated_at: model.terminated_at, - invoice_require_successful_payment: model.invoice_require_successful_payment? + invoice_requires_successful_payment: model.invoice_requires_successful_payment? } payload.merge!(recurring_transaction_rules) if include?(:recurring_transaction_rules) diff --git a/app/serializers/v1/wallet_transaction_serializer.rb b/app/serializers/v1/wallet_transaction_serializer.rb index 65f64f53a63..2958ae7abef 100644 --- a/app/serializers/v1/wallet_transaction_serializer.rb +++ b/app/serializers/v1/wallet_transaction_serializer.rb @@ -13,7 +13,7 @@ def serialize credit_amount: model.credit_amount, settled_at: model.settled_at&.iso8601, created_at: model.created_at.iso8601, - invoice_require_successful_payment: model.invoice_require_successful_payment? + invoice_requires_successful_payment: model.invoice_requires_successful_payment? } end end diff --git a/app/serializers/v1/wallets/recurring_transaction_rule_serializer.rb b/app/serializers/v1/wallets/recurring_transaction_rule_serializer.rb index fe63ef4d0dd..abdec1ca8ec 100644 --- a/app/serializers/v1/wallets/recurring_transaction_rule_serializer.rb +++ b/app/serializers/v1/wallets/recurring_transaction_rule_serializer.rb @@ -15,7 +15,7 @@ def serialize threshold_credits: model.threshold_credits, trigger: model.trigger, created_at: model.created_at.iso8601, - invoice_require_successful_payment: model.invoice_require_successful_payment? + invoice_requires_successful_payment: model.invoice_requires_successful_payment? } end end diff --git a/app/services/wallet_transactions/create_service.rb b/app/services/wallet_transactions/create_service.rb index 8b32af8114b..a001c893ef1 100644 --- a/app/services/wallet_transactions/create_service.rb +++ b/app/services/wallet_transactions/create_service.rb @@ -14,17 +14,17 @@ def call wallet_transactions = [] @source = params[:source] || :manual - invoice_require_successful_payment = if params.key?(:invoice_require_successful_payment) - ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment]) + invoice_requires_successful_payment = if params.key?(:invoice_requires_successful_payment) + ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment]) else - result.current_wallet.invoice_require_successful_payment + result.current_wallet.invoice_requires_successful_payment end if params[:paid_credits] transaction = handle_paid_credits( wallet: result.current_wallet, paid_credits: params[:paid_credits], - invoice_require_successful_payment: + invoice_requires_successful_payment: ) wallet_transactions << transaction end @@ -34,7 +34,7 @@ def call wallet: result.current_wallet, granted_credits: params[:granted_credits], reset_consumed_credits: ActiveModel::Type::Boolean.new.cast(params[:reset_consumed_credits]), - invoice_require_successful_payment: + invoice_requires_successful_payment: ) wallet_transactions << transaction end @@ -60,7 +60,7 @@ def call attr_reader :organization, :params, :source - def handle_paid_credits(wallet:, paid_credits:, invoice_require_successful_payment:) + def handle_paid_credits(wallet:, paid_credits:, invoice_requires_successful_payment:) paid_credits_amount = BigDecimal(paid_credits) return if paid_credits_amount.zero? @@ -73,7 +73,7 @@ def handle_paid_credits(wallet:, paid_credits:, invoice_require_successful_payme status: :pending, source:, transaction_status: :purchased, - invoice_require_successful_payment: + invoice_requires_successful_payment: ) BillPaidCreditJob.perform_later(wallet_transaction, Time.current.to_i) @@ -81,7 +81,7 @@ def handle_paid_credits(wallet:, paid_credits:, invoice_require_successful_payme wallet_transaction end - def handle_granted_credits(wallet:, granted_credits:, invoice_require_successful_payment:, reset_consumed_credits: false) + def handle_granted_credits(wallet:, granted_credits:, invoice_requires_successful_payment:, reset_consumed_credits: false) granted_credits_amount = BigDecimal(granted_credits) return if granted_credits_amount.zero? @@ -96,7 +96,7 @@ def handle_granted_credits(wallet:, granted_credits:, invoice_require_successful settled_at: Time.current, source:, transaction_status: :granted, - invoice_require_successful_payment: + invoice_requires_successful_payment: ) Wallets::Balance::IncreaseService.new( diff --git a/app/services/wallets/create_interval_wallet_transactions_service.rb b/app/services/wallets/create_interval_wallet_transactions_service.rb index 7d77626747a..fcd9a6bf0e4 100644 --- a/app/services/wallets/create_interval_wallet_transactions_service.rb +++ b/app/services/wallets/create_interval_wallet_transactions_service.rb @@ -13,7 +13,7 @@ def call paid_credits: paid_credits(recurring_transaction_rule), granted_credits: granted_credits(recurring_transaction_rule), source: :interval, - invoice_require_successful_payment: recurring_transaction_rule.invoice_require_successful_payment? + invoice_requires_successful_payment: recurring_transaction_rule.invoice_requires_successful_payment? } ) end diff --git a/app/services/wallets/create_service.rb b/app/services/wallets/create_service.rb index 9328d618816..35cae0ac460 100644 --- a/app/services/wallets/create_service.rb +++ b/app/services/wallets/create_service.rb @@ -18,8 +18,8 @@ def call status: :active } - if params.key?(:invoice_require_successful_payment) - attributes[:invoice_require_successful_payment] = ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment]) + if params.key?(:invoice_requires_successful_payment) + attributes[:invoice_requires_successful_payment] = ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment]) end wallet = Wallet.new(attributes) diff --git a/app/services/wallets/recurring_transaction_rules/create_service.rb b/app/services/wallets/recurring_transaction_rules/create_service.rb index 75751d6b3f8..21bd145ec3a 100644 --- a/app/services/wallets/recurring_transaction_rules/create_service.rb +++ b/app/services/wallets/recurring_transaction_rules/create_service.rb @@ -29,10 +29,10 @@ def call trigger: rule_params[:trigger].to_s } - attributes[:invoice_require_successful_payment] = if rule_params.key?(:invoice_require_successful_payment) - ActiveModel::Type::Boolean.new.cast(rule_params[:invoice_require_successful_payment]) + attributes[:invoice_requires_successful_payment] = if rule_params.key?(:invoice_requires_successful_payment) + ActiveModel::Type::Boolean.new.cast(rule_params[:invoice_requires_successful_payment]) else - wallet.invoice_require_successful_payment? + wallet.invoice_requires_successful_payment? end rule = wallet.recurring_transaction_rules.create!(attributes) diff --git a/app/services/wallets/recurring_transaction_rules/update_service.rb b/app/services/wallets/recurring_transaction_rules/update_service.rb index b1cd4f50bad..b554fe56cd2 100644 --- a/app/services/wallets/recurring_transaction_rules/update_service.rb +++ b/app/services/wallets/recurring_transaction_rules/update_service.rb @@ -26,8 +26,8 @@ def call end # NOTE: on creation, we follow the wallet configuration if not set - unless rule.key?(:invoice_require_successful_payment) - rule[:invoice_require_successful_payment] = wallet.invoice_require_successful_payment + unless rule.key?(:invoice_requires_successful_payment) + rule[:invoice_requires_successful_payment] = wallet.invoice_requires_successful_payment end created_recurring_rule = wallet.recurring_transaction_rules.create!(rule) created_recurring_rules_ids.push(created_recurring_rule.id) diff --git a/app/services/wallets/threshold_top_up_service.rb b/app/services/wallets/threshold_top_up_service.rb index de4d8135278..0b7e1568136 100644 --- a/app/services/wallets/threshold_top_up_service.rb +++ b/app/services/wallets/threshold_top_up_service.rb @@ -19,7 +19,7 @@ def call paid_credits:, granted_credits:, source: :threshold, - invoice_require_successful_payment: threshold_rule.invoice_require_successful_payment? + invoice_requires_successful_payment: threshold_rule.invoice_requires_successful_payment? } ) end diff --git a/app/services/wallets/update_service.rb b/app/services/wallets/update_service.rb index 2f4597a4aa3..09605db3ba3 100644 --- a/app/services/wallets/update_service.rb +++ b/app/services/wallets/update_service.rb @@ -17,8 +17,8 @@ def call ActiveRecord::Base.transaction do wallet.name = params[:name] if params.key?(:name) wallet.expiration_at = params[:expiration_at] if params.key?(:expiration_at) - if params.key?(:invoice_require_successful_payment) - wallet.invoice_require_successful_payment = ActiveModel::Type::Boolean.new.cast(params[:invoice_require_successful_payment]) + if params.key?(:invoice_requires_successful_payment) + wallet.invoice_requires_successful_payment = ActiveModel::Type::Boolean.new.cast(params[:invoice_requires_successful_payment]) end if params[:recurring_transaction_rules] && License.premium? Wallets::RecurringTransactionRules::UpdateService.call(wallet:, params: params[:recurring_transaction_rules]) diff --git a/db/migrate/20240723150304_add_invoice_require_successful_payment.rb b/db/migrate/20240723150304_add_invoice_require_successful_payment.rb deleted file mode 100644 index d2eedfe6fb3..00000000000 --- a/db/migrate/20240723150304_add_invoice_require_successful_payment.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -class AddInvoiceRequireSuccessfulPayment < ActiveRecord::Migration[7.1] - disable_ddl_transaction! - - def change - add_column :wallets, :invoice_require_successful_payment, :boolean, default: false, null: false - add_column :wallet_transactions, :invoice_require_successful_payment, :boolean, default: false, null: false - add_column :recurring_transaction_rules, :invoice_require_successful_payment, :boolean, default: false, null: false - end -end diff --git a/db/migrate/20240723150304_add_invoice_requires_successful_payment.rb b/db/migrate/20240723150304_add_invoice_requires_successful_payment.rb new file mode 100644 index 00000000000..150dc4a96ee --- /dev/null +++ b/db/migrate/20240723150304_add_invoice_requires_successful_payment.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class AddInvoiceRequiresSuccessfulPayment < ActiveRecord::Migration[7.1] + disable_ddl_transaction! + + def change + add_column :wallets, :invoice_requires_successful_payment, :boolean, default: false, null: false + add_column :wallet_transactions, :invoice_requires_successful_payment, :boolean, default: false, null: false + add_column :recurring_transaction_rules, :invoice_requires_successful_payment, :boolean, default: false, null: false + end +end diff --git a/db/schema.rb b/db/schema.rb index d770d9d0587..b435d39c85f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -755,6 +755,7 @@ t.index ["organization_id"], name: "index_invoices_on_organization_id" t.index ["payment_overdue"], name: "index_invoices_on_payment_overdue" t.index ["sequential_id"], name: "index_invoices_on_sequential_id" + t.index ["status"], name: "index_invoices_on_status" t.check_constraint "net_payment_term >= 0", name: "check_organizations_on_net_payment_term" end @@ -944,7 +945,7 @@ t.integer "method", default: 0, null: false t.decimal "target_ongoing_balance", precision: 30, scale: 5 t.datetime "started_at" - t.boolean "invoice_require_successful_payment", default: false, null: false + t.boolean "invoice_requires_successful_payment", default: false, null: false t.index ["started_at"], name: "index_recurring_transaction_rules_on_started_at" t.index ["wallet_id"], name: "index_recurring_transaction_rules_on_wallet_id" end @@ -1036,7 +1037,7 @@ t.uuid "invoice_id" t.integer "source", default: 0, null: false t.integer "transaction_status", default: 0, null: false - t.boolean "invoice_require_successful_payment", default: false, null: false + t.boolean "invoice_requires_successful_payment", default: false, null: false t.index ["invoice_id"], name: "index_wallet_transactions_on_invoice_id" t.index ["wallet_id"], name: "index_wallet_transactions_on_wallet_id" end @@ -1063,7 +1064,7 @@ t.decimal "credits_ongoing_balance", precision: 30, scale: 5, default: "0.0", null: false t.decimal "credits_ongoing_usage_balance", precision: 30, scale: 5, default: "0.0", null: false t.boolean "depleted_ongoing_balance", default: false, null: false - t.boolean "invoice_require_successful_payment", default: false, null: false + t.boolean "invoice_requires_successful_payment", default: false, null: false t.index ["customer_id"], name: "index_wallets_on_customer_id" end diff --git a/schema.graphql b/schema.graphql index 00d2153d861..cf21df00313 100644 --- a/schema.graphql +++ b/schema.graphql @@ -1884,7 +1884,7 @@ input CreateCustomerWalletTransactionInput { """ clientMutationId: String grantedCredits: String - invoiceRequireSuccessfulPayment: Boolean + invoiceRequiresSuccessfulPayment: Boolean paidCredits: String voidedCredits: String walletId: ID! @@ -7418,7 +7418,7 @@ type Wallet { customer: Customer expirationAt: ISO8601DateTime id: ID! - invoiceRequireSuccessfulPayment: Boolean! + invoiceRequiresSuccessfulPayment: Boolean! lastBalanceSyncAt: ISO8601DateTime lastConsumedCreditAt: ISO8601DateTime name: String @@ -7446,7 +7446,7 @@ type WalletTransaction { createdAt: ISO8601DateTime! creditAmount: String! id: ID! - invoiceRequireSuccessfulPayment: Boolean! + invoiceRequiresSuccessfulPayment: Boolean! settledAt: ISO8601DateTime status: WalletTransactionStatusEnum! transactionStatus: WalletTransactionTransactionStatusEnum! diff --git a/schema.json b/schema.json index 0fc31fb7910..5fb0032b05d 100644 --- a/schema.json +++ b/schema.json @@ -7536,7 +7536,7 @@ "deprecationReason": null }, { - "name": "invoiceRequireSuccessfulPayment", + "name": "invoiceRequiresSuccessfulPayment", "description": null, "type": { "kind": "SCALAR", @@ -37041,7 +37041,7 @@ ] }, { - "name": "invoiceRequireSuccessfulPayment", + "name": "invoiceRequiresSuccessfulPayment", "description": null, "type": { "kind": "NON_NULL", @@ -37392,7 +37392,7 @@ ] }, { - "name": "invoiceRequireSuccessfulPayment", + "name": "invoiceRequiresSuccessfulPayment", "description": null, "type": { "kind": "NON_NULL", diff --git a/spec/graphql/mutations/wallet_transactions/create_spec.rb b/spec/graphql/mutations/wallet_transactions/create_spec.rb index eea75edd73a..b74d68d533f 100644 --- a/spec/graphql/mutations/wallet_transactions/create_spec.rb +++ b/spec/graphql/mutations/wallet_transactions/create_spec.rb @@ -13,7 +13,7 @@ <<-GQL mutation($input: CreateCustomerWalletTransactionInput!) { createCustomerWalletTransaction(input: $input) { - collection { id, status, invoiceRequireSuccessfulPayment } + collection { id, status, invoiceRequiresSuccessfulPayment } } } GQL @@ -39,7 +39,7 @@ walletId: wallet.id, paidCredits: '5.00', grantedCredits: '5.00', - invoiceRequireSuccessfulPayment: true + invoiceRequiresSuccessfulPayment: true } } ) @@ -47,6 +47,6 @@ result_data = result['data']['createCustomerWalletTransaction'] expect(result_data['collection'].map { |wt| wt['status'] }) .to contain_exactly('pending', 'settled') - expect(result_data['collection'].map { |wt| wt['invoiceRequireSuccessfulPayment'] }).to all be true + expect(result_data['collection'].map { |wt| wt['invoiceRequiresSuccessfulPayment'] }).to all be true end end diff --git a/spec/graphql/types/wallet_transactions/object_spec.rb b/spec/graphql/types/wallet_transactions/object_spec.rb index 1904a71e7d5..27fcc20ba41 100644 --- a/spec/graphql/types/wallet_transactions/object_spec.rb +++ b/spec/graphql/types/wallet_transactions/object_spec.rb @@ -9,7 +9,7 @@ it { is_expected.to have_field(:amount).of_type('String!') } it { is_expected.to have_field(:credit_amount).of_type('String!') } - it { is_expected.to have_field(:invoice_require_successful_payment).of_type('Boolean!') } + it { is_expected.to have_field(:invoice_requires_successful_payment).of_type('Boolean!') } it { is_expected.to have_field(:status).of_type('WalletTransactionStatusEnum!') } it { is_expected.to have_field(:transaction_status).of_type('WalletTransactionTransactionStatusEnum!') } it { is_expected.to have_field(:transaction_type).of_type('WalletTransactionTransactionTypeEnum!') } diff --git a/spec/graphql/types/wallets/object_spec.rb b/spec/graphql/types/wallets/object_spec.rb index 46330468da0..ea670051f08 100644 --- a/spec/graphql/types/wallets/object_spec.rb +++ b/spec/graphql/types/wallets/object_spec.rb @@ -28,7 +28,7 @@ it { is_expected.to have_field(:recurring_transaction_rules).of_type('[RecurringTransactionRule!]') } - it { is_expected.to have_field(:invoice_require_successful_payment).of_type('Boolean!') } + it { is_expected.to have_field(:invoice_requires_successful_payment).of_type('Boolean!') } it { is_expected.to have_field(:created_at).of_type('ISO8601DateTime!') } it { is_expected.to have_field(:expiration_at).of_type('ISO8601DateTime') } diff --git a/spec/requests/api/v1/wallets_controller_spec.rb b/spec/requests/api/v1/wallets_controller_spec.rb index ecf86a81c72..be7d6c4e82e 100644 --- a/spec/requests/api/v1/wallets_controller_spec.rb +++ b/spec/requests/api/v1/wallets_controller_spec.rb @@ -20,7 +20,7 @@ paid_credits: '10', granted_credits: '10', expiration_at:, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } end @@ -34,7 +34,7 @@ expect(json[:wallet][:name]).to eq(create_params[:name]) expect(json[:wallet][:external_customer_id]).to eq(customer.external_id) expect(json[:wallet][:expiration_at]).to eq(expiration_at) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(true) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(true) end end @@ -76,7 +76,7 @@ end end - context 'when invoice_require_successful_payment is set at the wallet level but the rule level' do + context 'when invoice_requires_successful_payment is set at the wallet level but the rule level' do let(:create_params) do { external_customer_id: customer.external_id, @@ -85,7 +85,7 @@ currency: 'EUR', paid_credits: '10', expiration_at:, - invoice_require_successful_payment: true, + invoice_requires_successful_payment: true, recurring_transaction_rules: [ { trigger: 'interval', @@ -103,14 +103,14 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(true) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(true) expect(recurring_rules).to be_present - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(true) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(true) end end end - context 'when invoice_require_successful_payment is set at the rule level but not present at the wallet level' do + context 'when invoice_requires_successful_payment is set at the rule level but not present at the wallet level' do let(:create_params) do { external_customer_id: customer.external_id, @@ -123,7 +123,7 @@ { trigger: 'interval', interval: 'monthly', - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } ] } @@ -137,9 +137,9 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(false) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(false) expect(recurring_rules).to be_present - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(true) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(true) end end end @@ -153,7 +153,7 @@ { name: 'wallet1', expiration_at:, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } end @@ -172,7 +172,7 @@ expect(json[:wallet][:lago_id]).to eq(wallet.id) expect(json[:wallet][:name]).to eq(update_params[:name]) expect(json[:wallet][:expiration_at]).to eq(expiration_at) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(true) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(true) end end @@ -200,7 +200,7 @@ paid_credits: '105', granted_credits: '105', target_ongoing_balance: '300', - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } ] } @@ -220,7 +220,7 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(false) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(false) expect(recurring_rules).to be_present expect(recurring_rules.first[:lago_id]).to eq(recurring_transaction_rule.id) expect(recurring_rules.first[:interval]).to eq('weekly') @@ -228,15 +228,15 @@ expect(recurring_rules.first[:granted_credits]).to eq('105.0') expect(recurring_rules.first[:method]).to eq('target') expect(recurring_rules.first[:trigger]).to eq('interval') - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(true) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(true) end end - context 'when invoice_require_successful_payment is updated at the wallet level' do + context 'when invoice_requires_successful_payment is updated at the wallet level' do let(:update_params) do { name: 'wallet1', - invoice_require_successful_payment: true, + invoice_requires_successful_payment: true, recurring_transaction_rules: [ { lago_id: rule_id, @@ -266,10 +266,10 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(true) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(true) expect(recurring_rules).to be_present expect(recurring_rules.first[:lago_id]).to eq(recurring_transaction_rule.id) - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(false) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(false) end end end @@ -289,19 +289,19 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(true) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(true) expect(recurring_rules).to be_present - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(true) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(true) end end end context 'when the rule does not exist but the param is passed explicitly' do - let(:wallet) { create(:wallet, customer:, invoice_require_successful_payment: true) } + let(:wallet) { create(:wallet, customer:, invoice_requires_successful_payment: true) } let(:update_params) do { name: 'wallet1', - invoice_require_successful_payment: false, + invoice_requires_successful_payment: false, recurring_transaction_rules: [ { lago_id: 'does not exists in the db', @@ -311,14 +311,14 @@ paid_credits: '105', granted_credits: '105', target_ongoing_balance: '300', - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } ] } end it 'create a new rule and ignores wallet configuration' do - expect(wallet.invoice_require_successful_payment).to eq(true) + expect(wallet.invoice_requires_successful_payment).to eq(true) put_with_token( organization, "/api/v1/wallets/#{wallet.id}", @@ -330,9 +330,9 @@ aggregate_failures do expect(response).to have_http_status(:success) - expect(json[:wallet][:invoice_require_successful_payment]).to eq(false) + expect(json[:wallet][:invoice_requires_successful_payment]).to eq(false) expect(recurring_rules).to be_present - expect(recurring_rules.first[:invoice_require_successful_payment]).to eq(true) + expect(recurring_rules.first[:invoice_requires_successful_payment]).to eq(true) end end end diff --git a/spec/serializers/v1/wallet_serializer_spec.rb b/spec/serializers/v1/wallet_serializer_spec.rb index 6dc2871fe75..dc00124f1cd 100644 --- a/spec/serializers/v1/wallet_serializer_spec.rb +++ b/spec/serializers/v1/wallet_serializer_spec.rb @@ -31,7 +31,7 @@ 'ongoing_balance_cents' => wallet.ongoing_balance_cents, 'ongoing_usage_balance_cents' => wallet.ongoing_usage_balance_cents, 'consumed_credits' => wallet.consumed_credits.to_s, - 'invoice_require_successful_payment' => wallet.invoice_require_successful_payment + 'invoice_requires_successful_payment' => wallet.invoice_requires_successful_payment ) end end diff --git a/spec/serializers/v1/wallet_transaction_serializer_spec.rb b/spec/serializers/v1/wallet_transaction_serializer_spec.rb index 81039e179d7..20cb9697b96 100644 --- a/spec/serializers/v1/wallet_transaction_serializer_spec.rb +++ b/spec/serializers/v1/wallet_transaction_serializer_spec.rb @@ -23,7 +23,7 @@ 'credit_amount' => wallet_transaction.credit_amount.to_s, 'settled_at' => wallet_transaction.settled_at&.iso8601, 'created_at' => wallet_transaction.created_at.iso8601, - 'invoice_require_successful_payment' => wallet_transaction.invoice_require_successful_payment + 'invoice_requires_successful_payment' => wallet_transaction.invoice_requires_successful_payment ) end end diff --git a/spec/serializers/v1/wallets/recurring_transaction_rule_serializer_spec.rb b/spec/serializers/v1/wallets/recurring_transaction_rule_serializer_spec.rb index 6990af03435..b7326a561a1 100644 --- a/spec/serializers/v1/wallets/recurring_transaction_rule_serializer_spec.rb +++ b/spec/serializers/v1/wallets/recurring_transaction_rule_serializer_spec.rb @@ -21,7 +21,7 @@ "threshold_credits" => recurring_transaction_rule.threshold_credits.to_s, "granted_credits" => recurring_transaction_rule.granted_credits.to_s, "created_at" => recurring_transaction_rule.created_at.iso8601, - "invoice_require_successful_payment" => recurring_transaction_rule.invoice_require_successful_payment + "invoice_requires_successful_payment" => recurring_transaction_rule.invoice_requires_successful_payment ) end end diff --git a/spec/services/wallets/create_interval_wallet_transactions_service_spec.rb b/spec/services/wallets/create_interval_wallet_transactions_service_spec.rb index 869f6d3ca93..c6cf6faa986 100644 --- a/spec/services/wallets/create_interval_wallet_transactions_service_spec.rb +++ b/spec/services/wallets/create_interval_wallet_transactions_service_spec.rb @@ -43,7 +43,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -78,7 +78,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -108,7 +108,7 @@ paid_credits: "150.0", granted_credits: "0.0", source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -132,7 +132,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -160,7 +160,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -193,7 +193,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -217,7 +217,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -245,7 +245,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -268,7 +268,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -292,7 +292,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -320,7 +320,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -393,7 +393,7 @@ interval:, created_at: created_at + 1.second, started_at:, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true ) end let(:interval) { :weekly } @@ -414,7 +414,7 @@ paid_credits: recurring_transaction_rule.paid_credits.to_s, granted_credits: recurring_transaction_rule.granted_credits.to_s, source: :interval, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } ) end diff --git a/spec/services/wallets/create_service_spec.rb b/spec/services/wallets/create_service_spec.rb index 456d0f350ae..fcd3292a6b0 100644 --- a/spec/services/wallets/create_service_spec.rb +++ b/spec/services/wallets/create_service_spec.rb @@ -43,7 +43,7 @@ expect(wallet.rate_amount).to eq(1.0) expect(wallet.expiration_at.iso8601).to eq(expiration_at) expect(wallet.recurring_transaction_rules.count).to eq(0) - expect(wallet.invoice_require_successful_payment).to eq(false) + expect(wallet.invoice_requires_successful_payment).to eq(false) end end @@ -61,7 +61,7 @@ end end - context 'when invoice_require_successful_payment is set ' do + context 'when invoice_requires_successful_payment is set ' do let(:params) do { name: 'New Wallet', @@ -70,7 +70,7 @@ currency: 'EUR', rate_amount: '1.00', paid_credits:, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } end @@ -81,7 +81,7 @@ expect(service_result).to be_success wallet = service_result.wallet - expect(wallet.invoice_require_successful_payment).to eq(true) + expect(wallet.invoice_requires_successful_payment).to eq(true) end end end diff --git a/spec/services/wallets/recurring_transaction_rules/create_service_spec.rb b/spec/services/wallets/recurring_transaction_rules/create_service_spec.rb index d46aa81c9f6..7b626bb86ac 100644 --- a/spec/services/wallets/recurring_transaction_rules/create_service_spec.rb +++ b/spec/services/wallets/recurring_transaction_rules/create_service_spec.rb @@ -48,7 +48,7 @@ target_ongoing_balance: 100.0, threshold_credits: 0.0, trigger: "interval", - invoice_require_successful_payment: false + invoice_requires_successful_payment: false ) end @@ -74,12 +74,12 @@ end end - context 'when invoice_require_successful_payment is present' do + context 'when invoice_requires_successful_payment is present' do let(:rule_params) do { trigger: "threshold", threshold_credits: "1.0", - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } end @@ -87,13 +87,13 @@ expect { create_service.call }.to change { wallet.reload.recurring_transaction_rules.count }.by(1) expect(wallet.recurring_transaction_rules.first).to have_attributes( - invoice_require_successful_payment: true + invoice_requires_successful_payment: true ) end end - context 'when invoice_require_successful_payment is blank' do - let(:wallet) { create(:wallet, invoice_require_successful_payment: true) } + context 'when invoice_requires_successful_payment is blank' do + let(:wallet) { create(:wallet, invoice_requires_successful_payment: true) } let(:wallet_params) do { paid_credits: "100.0", @@ -109,7 +109,7 @@ expect { create_service.call }.to change { wallet.reload.recurring_transaction_rules.count }.by(1) expect(wallet.recurring_transaction_rules.first).to have_attributes( - invoice_require_successful_payment: true + invoice_requires_successful_payment: true ) end end diff --git a/spec/services/wallets/threshold_top_up_service_spec.rb b/spec/services/wallets/threshold_top_up_service_spec.rb index 6089289d076..61529c8fdc5 100644 --- a/spec/services/wallets/threshold_top_up_service_spec.rb +++ b/spec/services/wallets/threshold_top_up_service_spec.rb @@ -40,7 +40,7 @@ paid_credits: "10.0", granted_credits: "3.0", source: :threshold, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end @@ -54,7 +54,7 @@ threshold_credits: "6.0", paid_credits: "10.0", granted_credits: "3.0", - invoice_require_successful_payment: true + invoice_requires_successful_payment: true ) end @@ -62,7 +62,7 @@ expect { top_up_service.call }.to have_enqueued_job(WalletTransactions::CreateJob) .with( organization_id: wallet.organization.id, - params: hash_including(invoice_require_successful_payment: true) + params: hash_including(invoice_requires_successful_payment: true) ) end end @@ -106,7 +106,7 @@ paid_credits: "194.5", granted_credits: "0.0", source: :threshold, - invoice_require_successful_payment: false + invoice_requires_successful_payment: false } ) end diff --git a/spec/services/wallets/update_service_spec.rb b/spec/services/wallets/update_service_spec.rb index 36849cb12c8..409af1895a2 100644 --- a/spec/services/wallets/update_service_spec.rb +++ b/spec/services/wallets/update_service_spec.rb @@ -23,7 +23,7 @@ id: wallet&.id, name: 'new name', expiration_at:, - invoice_require_successful_payment: true + invoice_requires_successful_payment: true } end @@ -34,7 +34,7 @@ aggregate_failures do expect(result.wallet.name).to eq('new name') expect(result.wallet.expiration_at.iso8601).to eq(expiration_at) - expect(result.wallet.invoice_require_successful_payment).to eq(true) + expect(result.wallet.invoice_requires_successful_payment).to eq(true) end end