mirror of
https://github.com/we-promise/sure.git
synced 2026-04-13 17:14:05 +00:00
* chore(deps): bump activestorage from 7.2.2.2 to 7.2.3.1 Bumps [activestorage](https://github.com/rails/rails) from 7.2.2.2 to 7.2.3.1. - [Release notes](https://github.com/rails/rails/releases) - [Changelog](https://github.com/rails/rails/blob/v8.1.2.1/activestorage/CHANGELOG.md) - [Commits](https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3.1) --- updated-dependencies: - dependency-name: activestorage dependency-version: 7.2.3.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Fix flaky trades system tests racing with Turbo form submission (#1270) * Initial plan * Fix flaky trades system tests by waiting for form submission to complete Add assert_text "Entry created" after click_button "Add transaction" to ensure the Turbo form submission completes before navigating to the activity tab. Without this wait, the visit call could interrupt the in-flight Turbo request, causing the trade to never be created. Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> Agent-Logs-Url: https://github.com/we-promise/sure/sessions/45455cc4-e81e-41aa-bce6-9f67b982e81f --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
80 lines
1.6 KiB
Ruby
80 lines
1.6 KiB
Ruby
require "application_system_test_case"
|
|
|
|
class TradesTest < ApplicationSystemTestCase
|
|
include ActiveJob::TestHelper
|
|
|
|
setup do
|
|
sign_in @user = users(:family_admin)
|
|
|
|
@user.update!(show_sidebar: false, show_ai_sidebar: false)
|
|
|
|
@account = accounts(:investment)
|
|
|
|
visit_account_portfolio
|
|
|
|
# Disable provider to focus on form testing
|
|
Security.stubs(:provider).returns(nil)
|
|
end
|
|
|
|
test "can create buy transaction" do
|
|
shares_qty = 25
|
|
|
|
open_new_trade_modal
|
|
|
|
fill_in "Ticker symbol", with: "AAPL"
|
|
fill_in "Date", with: Date.current
|
|
fill_in "Quantity", with: shares_qty
|
|
fill_in "model[price]", with: 214.23
|
|
|
|
click_button "Add transaction"
|
|
|
|
assert_text "Entry created"
|
|
|
|
visit_trades
|
|
|
|
within_trades do
|
|
assert_text "Buy #{shares_qty}.0 shares of AAPL"
|
|
end
|
|
end
|
|
|
|
test "can create sell transaction" do
|
|
qty = 10
|
|
aapl = @account.holdings.find { |h| h.security.ticker == "AAPL" }
|
|
|
|
open_new_trade_modal
|
|
|
|
select "Sell", from: "Type"
|
|
fill_in "Ticker symbol", with: "AAPL"
|
|
fill_in "Date", with: Date.current
|
|
fill_in "Quantity", with: qty
|
|
fill_in "model[price]", with: 215.33
|
|
|
|
click_button "Add transaction"
|
|
|
|
assert_text "Entry created"
|
|
|
|
visit_trades
|
|
|
|
within_trades do
|
|
assert_text "Sell #{qty}.0 shares of AAPL"
|
|
end
|
|
end
|
|
|
|
private
|
|
def open_new_trade_modal
|
|
click_on "New activity"
|
|
end
|
|
|
|
def within_trades(&block)
|
|
within "#" + dom_id(@account, "entries"), &block
|
|
end
|
|
|
|
def visit_trades
|
|
visit account_path(@account, tab: "activity")
|
|
end
|
|
|
|
def visit_account_portfolio
|
|
visit account_path(@account, tab: "holdings")
|
|
end
|
|
end
|