@@ -142,6 +142,14 @@ namespace brave_test_resp {
142
142
std::string uphold_auth_resp_;
143
143
std::string uphold_transactions_resp_;
144
144
std::string uphold_commit_resp_;
145
+
146
+ std::string contribution_;
147
+ std::string reconcile_;
148
+ std::string current_reconcile_;
149
+ std::string register_;
150
+ std::string register_credential_;
151
+ std::string surveyor_voting_;
152
+ std::string surveyor_voting_credential_;
145
153
} // namespace brave_test_resp
146
154
147
155
class BraveRewardsBrowserTest
@@ -391,6 +399,30 @@ class BraveRewardsBrowserTest
391
399
braveledger_uphold::GetAPIUrl (" /v0/me" ),
392
400
base::CompareCase::INSENSITIVE_ASCII)) {
393
401
*response = GetUpholdUser ();
402
+ } else if (URLMatches (url, WALLET_PROPERTIES, PREFIX_V2,
403
+ ServerTypes::LEDGER)) {
404
+ GURL gurl (url);
405
+ if (gurl.has_query ()) {
406
+ *response = brave_test_resp::reconcile_;
407
+ } else {
408
+ *response = brave_test_resp::current_reconcile_;
409
+ }
410
+
411
+ } else if (URLMatches (url, RECONCILE_CONTRIBUTION, PREFIX_V2,
412
+ ServerTypes::LEDGER)) {
413
+ *response = brave_test_resp::contribution_;
414
+ } else if (URLMatches (url, REGISTER_VIEWING, PREFIX_V2,
415
+ ServerTypes::LEDGER)) {
416
+ if (url.find (REGISTER_VIEWING " /" ) != std::string::npos)
417
+ *response = brave_test_resp::register_credential_;
418
+ else
419
+ *response = brave_test_resp::register_;
420
+ } else if (URLMatches (url, SURVEYOR_BATCH_VOTING, PREFIX_V2,
421
+ ServerTypes::LEDGER)) {
422
+ if (url.find (SURVEYOR_BATCH_VOTING " /" ) != std::string::npos)
423
+ *response = brave_test_resp::surveyor_voting_credential_;
424
+ else
425
+ *response = brave_test_resp::surveyor_voting_;
394
426
}
395
427
}
396
428
@@ -456,6 +488,16 @@ class BraveRewardsBrowserTest
456
488
wait_for_multiple_tip_completed_loop_->Run ();
457
489
}
458
490
491
+ void WaitForMultipleACReconcileCompleted (int32_t needed) {
492
+ multiple_ac_reconcile_needed_ = needed;
493
+ if (multiple_ac_reconcile_completed_) {
494
+ return ;
495
+ }
496
+
497
+ wait_for_multiple_ac_completed_loop_.reset (new base::RunLoop);
498
+ wait_for_multiple_ac_completed_loop_->Run ();
499
+ }
500
+
459
501
void WaitForInsufficientFundsNotification () {
460
502
if (insufficient_notification_would_have_already_shown_) {
461
503
return ;
@@ -711,6 +753,26 @@ class BraveRewardsBrowserTest
711
753
ASSERT_TRUE (base::ReadFileToString (
712
754
path.AppendASCII (" uphold_commit_resp.json" ),
713
755
&brave_test_resp::uphold_commit_resp_));
756
+
757
+ ASSERT_TRUE (
758
+ base::ReadFileToString (path.AppendASCII (" contribution_resp.json" ),
759
+ &brave_test_resp::contribution_));
760
+ ASSERT_TRUE (base::ReadFileToString (path.AppendASCII (" reconcile_resp.json" ),
761
+ &brave_test_resp::reconcile_));
762
+ ASSERT_TRUE (
763
+ base::ReadFileToString (path.AppendASCII (" current_reconcile_resp.json" ),
764
+ &brave_test_resp::current_reconcile_));
765
+ ASSERT_TRUE (base::ReadFileToString (path.AppendASCII (" register_resp.json" ),
766
+ &brave_test_resp::register_));
767
+ ASSERT_TRUE (base::ReadFileToString (
768
+ path.AppendASCII (" register_credential_resp.json" ),
769
+ &brave_test_resp::register_credential_));
770
+ ASSERT_TRUE (
771
+ base::ReadFileToString (path.AppendASCII (" surveyor_voting_resp.json" ),
772
+ &brave_test_resp::surveyor_voting_));
773
+ ASSERT_TRUE (base::ReadFileToString (
774
+ path.AppendASCII (" surveyor_voting_credential_resp.json" ),
775
+ &brave_test_resp::surveyor_voting_credential_));
714
776
}
715
777
716
778
void UpdateContributionBalance (double amount, bool verified = false ) {
@@ -1349,6 +1411,17 @@ class BraveRewardsBrowserTest
1349
1411
if (wait_for_ac_completed_loop_) {
1350
1412
wait_for_ac_completed_loop_->Quit ();
1351
1413
}
1414
+
1415
+ // Multiple ac
1416
+ multiple_ac_reconcile_count_++;
1417
+ multiple_ac_reconcile_status_.push_back (converted_result);
1418
+
1419
+ if (multiple_ac_reconcile_count_ == multiple_ac_reconcile_needed_) {
1420
+ multiple_ac_reconcile_completed_ = true ;
1421
+ if (wait_for_multiple_ac_completed_loop_) {
1422
+ wait_for_multiple_ac_completed_loop_->Quit ();
1423
+ }
1424
+ }
1352
1425
}
1353
1426
1354
1427
if (converted_type == ledger::RewardsType::ONE_TIME_TIP ||
@@ -1484,6 +1557,22 @@ class BraveRewardsBrowserTest
1484
1557
UpdateContributionBalance (amount, should_contribute);
1485
1558
}
1486
1559
1560
+ void SetUpUpholdWallet (
1561
+ const double balance,
1562
+ const ledger::WalletStatus status = ledger::WalletStatus::VERIFIED) {
1563
+ verified_wallet_ = true ;
1564
+ external_balance_ = balance;
1565
+
1566
+ auto wallet = ledger::ExternalWallet::New ();
1567
+ wallet->token = " token" ;
1568
+ wallet->address = external_wallet_address_;
1569
+ wallet->status = status;
1570
+ wallet->one_time_string = " " ;
1571
+ wallet->user_name = " Brave Test" ;
1572
+ wallet->transferred = true ;
1573
+ rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
1574
+ }
1575
+
1487
1576
MOCK_METHOD1 (OnGetEnvironment, void (ledger::Environment));
1488
1577
MOCK_METHOD1 (OnGetDebug, void (bool ));
1489
1578
MOCK_METHOD1 (OnGetReconcileTime, void (int32_t ));
@@ -1511,8 +1600,16 @@ class BraveRewardsBrowserTest
1511
1600
bool ac_reconcile_completed_ = false ;
1512
1601
ledger::Result ac_reconcile_status_ = ledger::Result::LEDGER_ERROR;
1513
1602
std::unique_ptr<base::RunLoop> wait_for_tip_completed_loop_;
1603
+
1604
+ std::unique_ptr<base::RunLoop> wait_for_multiple_ac_completed_loop_;
1605
+ bool multiple_ac_reconcile_completed_ = false ;
1606
+ int32_t multiple_ac_reconcile_count_ = 0 ;
1607
+ int32_t multiple_ac_reconcile_needed_ = 0 ;
1608
+ std::vector<ledger::Result> multiple_ac_reconcile_status_;
1609
+
1514
1610
bool tip_reconcile_completed_ = false ;
1515
1611
ledger::Result tip_reconcile_status_ = ledger::Result::LEDGER_ERROR;
1612
+
1516
1613
std::unique_ptr<base::RunLoop> wait_for_multiple_tip_completed_loop_;
1517
1614
bool multiple_tip_reconcile_completed_ = false ;
1518
1615
int32_t multiple_tip_reconcile_count_ = 0 ;
@@ -1541,7 +1638,6 @@ class BraveRewardsBrowserTest
1541
1638
double verified_wallet_ = false ;
1542
1639
const std::string external_wallet_address_ =
1543
1640
" abe5f454-fedd-4ea9-9203-470ae7315bb3" ;
1544
- bool first_url_ac_called_ = false ;
1545
1641
};
1546
1642
1547
1643
IN_PROC_BROWSER_TEST_F (BraveRewardsBrowserTest, RenderWelcome) {
@@ -2050,7 +2146,6 @@ IN_PROC_BROWSER_TEST_F(BraveRewardsBrowserTest, AutoContributeWhenACOff) {
2050
2146
2051
2147
// Trigger contribution process
2052
2148
rewards_service ()->StartMonthlyContributionForTest ();
2053
- ASSERT_FALSE (first_url_ac_called_);
2054
2149
}
2055
2150
2056
2151
// #6 - Tip verified publisher
@@ -2659,17 +2754,7 @@ IN_PROC_BROWSER_TEST_F(BraveRewardsBrowserTest,
2659
2754
2660
2755
IN_PROC_BROWSER_TEST_F (BraveRewardsBrowserTest,
2661
2756
TipWithVerifiedWallet) {
2662
- verified_wallet_ = true ;
2663
- external_balance_ = 50.0 ;
2664
-
2665
- auto wallet = ledger::ExternalWallet::New ();
2666
- wallet->token = " token" ;
2667
- wallet->address = external_wallet_address_;
2668
- wallet->status = ledger::WalletStatus::VERIFIED;
2669
- wallet->one_time_string = " " ;
2670
- wallet->user_name = " Brave Test" ;
2671
- wallet->transferred = true ;
2672
- rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
2757
+ SetUpUpholdWallet (50.0 );
2673
2758
2674
2759
// Enable Rewards
2675
2760
EnableRewards ();
@@ -2689,17 +2774,7 @@ IN_PROC_BROWSER_TEST_F(BraveRewardsBrowserTest,
2689
2774
2690
2775
IN_PROC_BROWSER_TEST_F (BraveRewardsBrowserTest,
2691
2776
MultipleTipsProduceMultipleFeesWithVerifiedWallet) {
2692
- verified_wallet_ = true ;
2693
- external_balance_ = 50.0 ;
2694
-
2695
- auto wallet = ledger::ExternalWallet::New ();
2696
- wallet->token = " token" ;
2697
- wallet->address = external_wallet_address_;
2698
- wallet->status = ledger::WalletStatus::VERIFIED;
2699
- wallet->one_time_string = " " ;
2700
- wallet->user_name = " Brave Test" ;
2701
- wallet->transferred = true ;
2702
- rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
2777
+ SetUpUpholdWallet (50.0 );
2703
2778
2704
2779
// Enable Rewards
2705
2780
EnableRewards ();
@@ -2760,17 +2835,7 @@ IN_PROC_BROWSER_TEST_F(BraveRewardsBrowserTest, TipConnectedPublisherAnon) {
2760
2835
IN_PROC_BROWSER_TEST_F (
2761
2836
BraveRewardsBrowserTest,
2762
2837
TipConnectedPublisherAnonAndConnected) {
2763
- verified_wallet_ = true ;
2764
- external_balance_ = 50.0 ;
2765
-
2766
- auto wallet = ledger::ExternalWallet::New ();
2767
- wallet->token = " token" ;
2768
- wallet->address = external_wallet_address_;
2769
- wallet->status = ledger::WalletStatus::CONNECTED;
2770
- wallet->one_time_string = " " ;
2771
- wallet->user_name = " Brave Test" ;
2772
- wallet->transferred = true ;
2773
- rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
2838
+ SetUpUpholdWallet (50.0 );
2774
2839
2775
2840
// Enable Rewards
2776
2841
EnableRewards ();
@@ -2793,17 +2858,7 @@ IN_PROC_BROWSER_TEST_F(
2793
2858
IN_PROC_BROWSER_TEST_F (
2794
2859
BraveRewardsBrowserTest,
2795
2860
TipConnectedPublisherConnected) {
2796
- verified_wallet_ = true ;
2797
- external_balance_ = 50.0 ;
2798
-
2799
- auto wallet = ledger::ExternalWallet::New ();
2800
- wallet->token = " token" ;
2801
- wallet->address = external_wallet_address_;
2802
- wallet->status = ledger::WalletStatus::CONNECTED;
2803
- wallet->one_time_string = " " ;
2804
- wallet->user_name = " Brave Test" ;
2805
- wallet->transferred = true ;
2806
- rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
2861
+ SetUpUpholdWallet (50.0 , ledger::WalletStatus::CONNECTED);
2807
2862
2808
2863
// Enable Rewards
2809
2864
EnableRewards ();
@@ -2827,17 +2882,7 @@ IN_PROC_BROWSER_TEST_F(
2827
2882
IN_PROC_BROWSER_TEST_F (
2828
2883
BraveRewardsBrowserTest,
2829
2884
TipConnectedPublisherVerified) {
2830
- verified_wallet_ = true ;
2831
- external_balance_ = 50.0 ;
2832
-
2833
- auto wallet = ledger::ExternalWallet::New ();
2834
- wallet->token = " token" ;
2835
- wallet->address = external_wallet_address_;
2836
- wallet->status = ledger::WalletStatus::VERIFIED;
2837
- wallet->one_time_string = " " ;
2838
- wallet->user_name = " Brave Test" ;
2839
- wallet->transferred = true ;
2840
- rewards_service ()->SaveExternalWallet (" uphold" , std::move (wallet));
2885
+ SetUpUpholdWallet (50.0 );
2841
2886
2842
2887
// Enable Rewards
2843
2888
EnableRewards ();
@@ -3060,3 +3105,47 @@ IN_PROC_BROWSER_TEST_F(BraveRewardsBrowserTest, ShowACPercentInThePanel) {
3060
3105
EXPECT_NE (js_result.ExtractString ().find (" 100%" ), std::string::npos);
3061
3106
}
3062
3107
}
3108
+
3109
+ IN_PROC_BROWSER_TEST_F (
3110
+ BraveRewardsBrowserTest,
3111
+ SplitProcessorAutoContribution) {
3112
+ SetUpUpholdWallet (50.0 );
3113
+
3114
+ EnableRewards ();
3115
+
3116
+ // Claim promotion using panel (30BAT)
3117
+ const bool use_panel = true ;
3118
+ ClaimPromotion (use_panel);
3119
+
3120
+ VisitPublisher (" 3zsistemi.si" , true );
3121
+
3122
+ // 30 form unblinded and 20 from uphold
3123
+ rewards_service ()->SetContributionAmount (50.0 );
3124
+
3125
+ // Trigger contribution process
3126
+ rewards_service ()->StartMonthlyContributionForTest ();
3127
+
3128
+ // Wait for reconciliation to complete successfully
3129
+ WaitForMultipleACReconcileCompleted (2 );
3130
+ ASSERT_EQ (multiple_ac_reconcile_status_[0 ], ledger::Result::LEDGER_OK);
3131
+ ASSERT_EQ (multiple_ac_reconcile_status_[1 ], ledger::Result::LEDGER_OK);
3132
+
3133
+ // Check monthly report
3134
+ ASSERT_TRUE (ExecJs (contents (),
3135
+ " document.querySelector(\" [data-test-id='showMonthlyReport']\" ).click();" ,
3136
+ content::EXECUTE_SCRIPT_DEFAULT_OPTIONS,
3137
+ content::ISOLATED_WORLD_ID_CONTENT_END));
3138
+
3139
+
3140
+ WaitForSelector (contents (), " #transactionTable" );
3141
+
3142
+ ASSERT_NE (ElementInnerText (" #transactionTable" ).find (" -30.0BAT" ),
3143
+ std::string::npos);
3144
+
3145
+ ASSERT_NE (ElementInnerText (" #transactionTable" ).find (" -20.0BAT" ),
3146
+ std::string::npos);
3147
+
3148
+ // Check that summary table shows the appropriate contribution
3149
+ ASSERT_NE (ElementInnerText (" [color=contribute]" ).find (" -50.0BAT" ),
3150
+ std::string::npos);
3151
+ }
0 commit comments