Commit Graph

177 Commits

Author SHA1 Message Date
rockstardev
8398534fa0 Attempting selenium test fix for CanUseLightningSatsFeature
Swithcing to using WaitForElement and simplifying finding of alert message
2021-03-14 18:43:16 -05:00
Dennis Reimann
d36974a47e
Fix test 2021-03-02 12:26:19 +01:00
Andrew Camilleri
49ae62b02e
Use library for Payjoin Sender (#2158)
* Use library for Payjoin Sender

* update payjoin sender to use new package and reduce code

* fix using statements
2021-03-01 22:44:53 +09:00
Dennis Reimann
1e902c8dee
Tests: Toggle advanced settings via JS instead 2021-02-17 15:54:05 +01:00
Dennis Reimann
db5f64432e
Tests: Wait for advanced settings closing animation 2021-02-17 12:34:58 +01:00
d11n
c73878ccca
Fix missing hot wallet option on seed import (#2284)
* Fix missing hot wallet option on seed import

Thanks @kukks for spotting!

* Tests: Wait for button to be ready for interaction

* Camelcase test selectors

* Tests: Remove general ImplicitWait

* Tests: Add WaitForAndClick helper

* Tests: Refactor SetCheckbox

* Tests: Add WaitForElement helper

* Tests: Refactor and use wait.UntilJsIsReady helper

* Fix missing helper in ethereum tests

* Tests: Some more refactorings
2021-02-17 12:14:29 +09:00
nicolas.dorier
2e864c32fa
Profile email change should check email's availability 2021-02-12 12:48:05 +09:00
d11n
f4fa7c927c
Wallet setup redesign (#2164)
* Prepare existing layouts and views

* Add icon view component and sprite svg

* Add wallet setup basics

* Add import method view basics

* Use external sprite file instead of inline svg

* Refactor hardware wallet setup flow

* Manually enter an xpub

* Prepare other views

* Update views and models

* Finalize wallet setup flow

* Updat tests, part 1

* Update tests, part 2

* Vaul: Fix missing retry button

* Add better Scan QR subtext

Still tbd.

* Make wallet account an advanced setting

* Prevent empty xpub

* Use textarea for seed input

* Remove redundant error message for missing file upload

* Confirm store updates after generating a new wallet

* Update wording

* Modify existing wallets

* Fix proposed method name

* Suggest using ColdCard Electrum export option only

Advise the user to use the electrum export of the coldcard instead of saying either electrum or wasabi export file … the electurm one contains more info, e.g. the wasabi one doesn't include the account key path.

* More concise WalletSetupMethod setting

* Test fix

* Update wallet removal code

* Fix back navigation quirk in change wallet case

* Fix behaviour on wallet enable/disable

* Fix initial wallet setup

* Improve modify view and messages

* Test fixes

* Seed import fix

Uses the correct form url for confirming addresses

* Quickfixes from design meeting

* Add enable toggle switch on modify page

* Confirm wallet removal

* Update setup view

* Update import view

* Icon finetuning

* Improve import options page

* Refactor QR code scanner

Allow for usage with and without modal

* Update copy and instructions on import pages

* Split generate options: Hot wallet and watch-only

* Implement hot wallet options correctly

* Minor test changes

* Navbar improvements

* Fix tables

* Fix badge color

* Routing related updates

Thanks @kukks for the suggestions!

* Wording updates

Thanks @kukks for the suggestions!

* Extend address types table for xpub import

Thanks @kukks for the suggestions!

* Rename controller

* Unify precondition checks

* Improve removal warning for hot wallets

* Add tooltip on why seed import is not recommended

* Add tooltip icon

* Add Specter import info
2021-02-11 19:48:54 +09:00
Dennis Reimann
98a1b0da71
Update public account URLs
- /Account/Login -> /login
- /Account/Register -> /register
- /Account/ForgotPassword -> /forgot-password
2021-01-28 10:08:22 +01:00
Dennis Reimann
b75409a6bf
Remove Firefox as option for Selenium tests 2021-01-27 09:35:14 +01:00
Dennis Reimann
5e344b9be7
Fix missing user secrets code 2021-01-26 10:22:17 +01:00
Dennis Reimann
71bb876c9e
Configure browser settings with user secrets
Default to headless Chrome
2021-01-25 17:23:08 +01:00
Dennis Reimann
7926b689fd
Default to headless, add Firefox, update Chrome 2021-01-25 15:01:53 +01:00
Dennis Reimann
8bea1505dd
Cleanups, remove WaitForPageLoad hack 2021-01-25 14:10:40 +01:00
Dennis Reimann
e567f7a80c
Refactor tests
Remove the hacky `ScrollTo`, `ForceClick` and `WaitForElement`.
Add the hacky `WaitForPageLoad`.
2021-01-25 13:04:58 +01:00
Andrew Camilleri
5ca4e71c34
Introduce QR Code View component (#2125)
* Introduce QR Code View component

* more cleanup

* fix js clipboard

* Fix clipboard confirmation width calculation

* fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-22 11:18:51 +09:00
Nicolas Dorier
d8f145c4dc
Merge branch 'master' into plugins-db 2020-11-19 12:19:17 +09:00
Kukks
179520a211 Plugins: Allow creation of independent DbContexts
This allows plugins to create custom dbcontexts, which would be namespaced in the scheme with a prefix. Migrations are supported too and the table would be prefixed too
2020-11-18 12:27:26 +01:00
nicolas.dorier
f3611ac693
Add Webhooks in store's settings 2020-11-08 15:57:24 +09:00
rockstardev
2f25f1790e Trying to prevent ocassional chrome crashes
Error: The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.
2020-10-18 03:11:17 -05:00
rockstardev
d90fcf15bd Verifying presence of wallet warning on store list 2020-10-18 03:11:17 -05:00
rockstardev
ef99eeb300 Adding selenium test for store hints 2020-10-18 03:11:17 -05:00
nicolas.dorier
d8da8023c2
Add tests 2020-10-05 18:09:00 +09:00
Nicolas Dorier
62f00fa970
Merge pull request #1886 from Kukks/invite-link
Allow admins to invite new users
2020-09-19 11:15:38 +09:00
Dennis Reimann
7e60328cff
Greenfield: Rename API key redirect params; switch to POST body (#1898)
* Rename user param to userId in API key redirect

This way it is clearer what to expect and it also make the parameteer easier to consume.

* Post redirect: Allow form url and prettify page

- Form URL as alternative to controller/action for external URLs
- Making it look nice and add explanation for non-JS case

* APIKeys: Minor view updates

fix

* APIKeys: Use POST redirect for confirmation

fix

* UI: Minor update to confirm view

Tidies it up and adapts to the newly added ConfirmAPIKeys view.

* APIKeys: Update delete view

Structures the information in title and description better.

* APIKeys: Distinguish authorize and confirm (reuse)

* Upgrade ChromeDriver

* Test fixes

* Clean up PostRedirect view

By adding missing forgery token

* Re-add tests for callback post values

* Rename key param to apiKey in API key redirect

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.authorization.json

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Use DEBUG conditional for postredirect-callback-test route

* Remove unnecessary ChromeDriver references

* Add debug flag

* Remove debug flags

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-09-17 11:37:49 +02:00
Kukks
eb9fe7c401 add tests 2020-09-16 08:54:51 +02:00
nicolas.dorier
b176b972b6
Fix tests 2020-08-16 22:09:10 +09:00
Dennis Reimann
188774f30a
Seed-lookup related test fixes 2020-07-17 18:00:08 +02:00
rockstardev
f88c02cccd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
nicolas.dorier
51514252b6
Run dotnet format 2020-06-28 17:55:27 +09:00
nicolas.dorier
5e8b379c50
Add invoice refund 2020-06-25 15:31:46 +09:00
Nicolas Dorier
8230a408ac
Add pull payment feature (#1639) 2020-06-24 10:34:09 +09:00
Andrew Camilleri
b31fb1a269
Auto label utxos based on invoice and payjoin (#1499)
* Auto label utxos based on invoice and payjoin

This PR introduces automatic labelling to transactions.
* If it is an incoming tx to an invoice, it will tag it as such.
* If it was a payjoin tx , it will tag it as such.
* If a transaction's inputs were exposed to a payjoin sender, we tag it as such.

* wip

* wip

* support in coinselection

* remove ugly hack

* support wallet transactions page

* remove messy loop

* better label template helpers

* add tests and susbcribe to event

* simplify data

* fix test

* fix label  + color

* fix remove label

* renove useless call

* add toString

* fix potential crash by txid

* trim json keyword in manual label

* format file
2020-04-28 15:06:28 +09:00
nicolas.dorier
79c70b31a3
Fix tests 2020-04-26 01:47:47 +09:00
Kukks
4be6c06af5 add payjoin e2e test for all compatible formats 2020-04-25 16:12:16 +02:00
nicolas.dorier
9efe6267d3
Do not ask for address confirmation if a new wallet is generated 2020-04-13 13:03:55 +09:00
Kukks
148b04e9ba allow changing the payjoin key easily later 2020-04-08 14:32:29 +02:00
Kukks
4d2e59e1a1 Change flow of payjoin in wallet + fix tests 2020-03-30 13:27:04 +02:00
nicolas.dorier
805e1f53b3
Test Wallet Receive, Send with NBX, Coin selection 2020-03-23 15:46:54 +09:00
rockstardev
f3d5cf3622 Additional logging and tweaking for CanManageWallet test 2020-03-21 12:23:02 -05:00
nicolas.dorier
29a807696b
Refactor permissions of GreenField 2020-03-19 23:43:51 +09:00
rockstardev
47c1164003 Adding logging to detect failure of CanManageWallet test
If all logs are present it's possibly issue with TempData
2020-03-18 18:17:21 -05:00
rockstardev
4e826553f8 Fixing ocassional CanManageWallet Selenium test fails
Looking through logs it seems like Generate button is never clicked, which can happen if modal is not displayed
https://circleci.com/gh/btcpayserver/btcpayserver/6167
2020-03-06 02:06:32 -06:00
Andrew Camilleri
fa51180dfa
Api keys with openiddict (#1262)
* Remove OpenIddict

* Add API Key system

* Revert removing OpenIddict

* fix rebase

* fix tests

* pr changes

* fix tests

* fix apikey test

* pr change

* fix db

* add migration attrs

* fix migration error

* PR Changes

* Fix sqlite migration

* change api key to use Authorization Header

* add supportAddForeignKey

* use tempdata status message

* fix add api key css

* remove redirect url + app identifier feature :(
2020-02-24 22:36:15 +09:00
Andrew Camilleri
07f0d95f56
BIP21 Support for Wallet spending (#1322)
* BIP21 Support for Wallet spending

* extract bip21 loading to method

* add bip21 parsing test
2020-02-13 17:18:43 +09:00
rockstardev
ea9169f607 Updating 404 page not found assert 2020-02-01 02:29:08 -06:00
nicolas.dorier
4b088defd3
Increase timeout for AssertHappyMessage test 2020-01-18 15:36:20 +09:00
nicolas.dorier
529c2df1cc
Make tests more resilient 2020-01-12 15:50:23 +09:00
nicolas.dorier
6ac8cd19d3
Better logs for HappyMessage 2020-01-12 13:54:06 +09:00
Kukks
7cfe5f0421 failsafe with selenium 2019-12-16 12:10:03 +01:00
Kukks
f724d6c0cf tests for importing keys to rpc 2019-12-16 09:01:27 +01:00
Kukks
f284ef9052 Add generate wallet e2e test 2019-12-16 09:01:27 +01:00
nicolas.dorier
c83bcd259d
Testing happy messages, fix approval button 2019-11-16 15:20:54 +09:00
nicolas.dorier
55dd8da284
Redirect first run to register, redirect unlogged to login 2019-11-06 15:19:14 +09:00
nicolas.dorier
aad586232c
Refactor StatusMessage and remove ExternalLogin 2019-10-31 14:11:33 +09:00
nicolas.dorier
281a2461ad
Refactor authorizations 2019-10-14 00:24:41 +09:00
nicolas.dorier
1c9a91140b
Asyncify tests 2019-10-07 16:04:25 +09:00
nicolas.dorier
a2cb6178b8
Can edit authorized_keys in SSH Services, remove download keyfile support 2019-09-19 19:17:20 +09:00
nicolas.dorier
41d714e2ce
Revert "Share same browser for all selenium tests"
This reverts commit 2ce0749bb6.
2019-09-11 16:22:41 +09:00
nicolas.dorier
60a8b23c03
Revert "Fix test"
This reverts commit 0096250384.
2019-09-11 16:22:27 +09:00
nicolas.dorier
0096250384
Fix test 2019-09-11 15:58:38 +09:00
nicolas.dorier
2ce0749bb6
Share same browser for all selenium tests 2019-09-11 15:36:12 +09:00
Andrew Camilleri
7ab97311be Re-enable lightning sats feature through C# (#1014) 2019-09-11 14:49:06 +09:00
Andrew Camilleri
e6cfb6e851 Selenium Tests for Checkout + other store operations (#1015) 2019-09-10 17:03:24 +09:00
Andrew Camilleri
7208e63155 Excerpts from #971 (manual PR) (part1 ) (#1006)
* Excerpts from #971

Relating to selenium tests + small renamings

* fix build
2019-09-03 20:11:36 +09:00
Andrew Camilleri
4055eda757 Part3: OpenIddict: Add Flows Event Handlers (#568)
* Part 1 & Part 2 squashed commits

pr changes


pr fixes


remove config for openid -- no need for it for now


Part 1: OpenIddict - Minor Changes & Config prep


Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies


pr changes


fix merge 


fix compile


fix compile #2


Part 1: OpenIddict - Minor Changes & Config prep


add missing nuget


Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* Part3: OpenIddict: Add Flows Event Handlers

* pr changes

* fix merge

* fix rebase

* fix imports

* cleanup

* do not allow u2f enabled accounts to log in

* start better tests for flows

* add tests

* fixes

* reintroduce dynamic policy as policies on jwt do not work without it

* reduce logs

* fix incorrect endpoint definitions

* Add implicit flow e2e test

* add code flow and refresh flow

* do not allow jwt bearer auth for all requests( only those under /api)

* remove commentedt code

* make sure authorize attr is marked with scheme

* remove dynamic policy and set claims in jwt handler

* cleanup

* change serversettings policy to not need a claim

* Add test to checkadmin verification

* revert server setting claim removal

* fix test

* switch back to claim

* unit test fixes

* try fix build with weird references to csprojes

* start fixing rebase

* remove https requirement to handle tor

* reformat tests correctly

* fix csproj

* fix ut formatting

* PR Changes

* do not show selenium browser
2019-07-01 12:39:25 +09:00
Andrew Camilleri
5571413a78 Put Ledger Wallet pairing in a popup, prepare code for Trezor pairing (#836)
* Allowing for POS to be displayed at website root

* Switching to asp attributes for form post action

* Applying default formatting rules on HTML

* The destination pays mining fees => Subtract fees from amount

* small cleanup (#851)

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567)

* Part 1: OpenIddict - Minor Changes & Config prep

* Part 1: OpenIddict - Minor Changes & Config prep

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* pr changes

* pr changes

* fix merge

* pr fixes

* remove config for openid -- no need for it for now

* fix compile

* fix compile #2

* remove extra ns using

* Update Startup.cs

* compile

* adjust settings a bit

* remove duplicate

* remove external login provider placeholder html

* remove unused directives

* regenerate db snapshot model

* Remove dynamic policy

* Provide Pretty descriptions for payment methods from their handlers (#852)

* small cleanup

* Provide Pretty descriptions for payment methods from their handlers

* remove PrettyMethod()

* integration with trezor

* rough load xpub from trezor

* update deriv scheme trezor

* move ledger import to dialog

* add import from hw wallet dropdown

* Support temporary links for local file system provider (#848)

* wip

* Support temporary links for local file system provider

* pass base url to file services

* fix test

* do not crash on errors with local filesystem

* remove console

* fix paranthesis

* work on trezor.net integration

* pushed non compiling sign wallet code

* comment out wallet code

* abstract ledger ws in add deriv

* Auto stash before merge of "trezor" and "btcpayserver/master"

* final add changes

* cleanup

* improve connectivity and fix e2e tests

* fix selenium

* add experimental warning for trezor

* move import button to right and convert to text link

* switch to defer and async scripts in add deriv scheme

* make defer not async

* more elaborate import trezor dialog

* Fix small issues

* hide trezor for now
2019-05-25 11:45:36 +09:00
Andrew Camilleri
88c931ec13 Make wallet able to send to multiple destinations (#847)
* Make wallet able to send to multiple destinations

* fix tests

* update e2e tests

* fix e2e part 2

* make headless again

* pr changes

* make wallet look exactly as old one when only 1 dest
2019-05-21 17:10:07 +09:00
nicolas.dorier
e100edce24
Add selenium test for the manual seed signing 2019-05-15 16:00:03 +09:00
nicolas.dorier
e22b7f74c7
Increase test coverage of selenium 2019-05-14 23:33:46 +09:00
nicolas.dorier
f8fca7434c
Hack selenium again 2019-05-14 22:29:05 +09:00
nicolas.dorier
66d303c4ba
Install chrome driver on alpine 2019-05-14 19:58:28 +09:00
nicolas.dorier
186ed8beb2
Hack selenium 2019-05-14 19:27:26 +09:00
nicolas.dorier
00e24ab249
Make sure BTCPay is operational before starting tests 2019-05-14 18:35:22 +09:00
nicolas.dorier
12507b6743
Add some logs related to selenium 2019-05-14 17:34:19 +09:00
nicolas.dorier
a1f1e90626
Make selenium work on CI 2019-05-14 16:06:51 +09:00
nicolas.dorier
8ffb81cdf3
Refactor Selenium tests to properly cleanup resources 2019-05-13 18:42:20 +09:00