1
0
Fork 0
Commit Graph

67 Commits (13949d6968006dc78556818c662375d2dd89e51e)

Author SHA1 Message Date
Tiger Oakes eed20b43b9
Test session control controller (#12652) 2020-07-17 13:07:01 -07:00
Elise Richards 023a4983fa
For #10173: login duplicates and save (#11208)
* Extract controller into it's own class. Implement find dupes and filter based on username.

Create edit login controller. Add text watchers and check for duplicates.

Edit controller test

* Find duplicates and save to store

* Retrieve duplicates from AC and check list on username text changed

Move duplicates logic into the controller

* Add glean pings for delete and edit. Move logic for login manipulation into the datastore.

* Use correct threads in controller. Enable save button when applicable.

Save enabled in datastore.

Move login data to datastore

Rebase with password error states

Update metrics to be more specific for edit

* Create logins controller for AC calls

* Interactor and controller methods for edit login. Add edit view to separate out some layout manipulation.

Inflate view in edit fragment. Double layout showing up.

Edit view

Controller tests

Controller tests passing

Interactor tests

Lint and detekt cleanup

* Remove datastore and use storage controller for all logins calls to password storage.

Addressed comments

Lint
:

Rebase - 1
2020-07-16 17:08:04 -05:00
Tiger Oakes 4dd0c0f224
For #12457: Add MockK matcher for intents (#12612) 2020-07-16 15:05:01 -07:00
Mugurell e1fc0cc038
Ensure logins deletion (#12507)
* For #11227 - Cleanup saved logins list when one is selected

Selecting a saved login will open a detail screen for it from where users can
change details or even delete that particular login.
After the change is made the user is brought back to the list of saved logins
where for a brief moment (< 1s) until we get a new response from
passwordsStorage.list() the user can see and even interact with the old list
of items, which may still contain the just deleted one.

To avoid users seeing obsolete logins or even interacting with them (selecting
a previosuly deleted item will result in a crash) we will clean the list of
logins just before the selected login is opened in the detailed view.
When returning for a brief moment the users may see the "loading" UX until
passwordsStorage.list() returns the up-to-date list of logins to display.

* For #11227 - Refactor SavedLoginsView to be closer to MVI

- Interactors should only get passed other Interactors or Controllers as
dependencies to which they should delegate user actions.
- Controllers should hold most of the business logic and get passed all final
dependencies they need to do their job.
2020-07-16 14:40:08 -05:00
Tiger Oakes 2291fb07aa
For #12565: Add Locale settings tests & use activity (#12579) 2020-07-16 11:43:27 -07:00
Tiger Oakes d0e9f1f165
Update Kotlin dependency (#10806) 2020-07-15 18:02:58 -07:00
Tiger Oakes 69020a1f26
For #12457 - Add MockK matcher for nav directions (#12262) 2020-07-14 10:39:23 -07:00
Tiger Oakes 7287b5579f
Test settings about/advanced (#12023) 2020-06-26 15:53:30 -07:00
Tiger Oakes bcb2ef10ac
Add tests for PhoneFeature (#12021) 2020-06-26 12:12:52 -07:00
Tiger Oakes 80de3851f3
Add tests for OnSharedPreferenceChangeListener (#12019) 2020-06-26 11:04:46 -07:00
Tiger Oakes 9a8b800a76 For #8621 - fix intermittent test failures 2020-06-23 17:43:24 -04:00
Tiger Oakes 2fdebada11 Add tests for about viewholder 2020-06-12 15:30:50 -04:00
Tiger Oakes 294f29768d Test logins settings 2020-06-12 15:30:50 -04:00
Tiger Oakes 0d4ceb186c Add test for SearchStringValidator 2020-06-12 15:29:58 -04:00
Tiger Oakes f0295048fa Remove Mockito 2020-06-10 21:19:50 -04:00
Tiger Oakes 1a19b06227
Simplify `PhoneFeature` code (#10810) 2020-06-08 13:02:42 -07:00
Dennis Schubert d046d908fc Bug 1643132 - Remove native "Report site issue" functionality.
This will be replaced by the WebCompat team's system extension that ships as an android-component.
2020-06-04 18:23:11 -04:00
Tiger Oakes 2397695fe5
For #10596 - Redirect moz://a URL (#10688) 2020-05-26 11:06:01 -07:00
Elise Richards edc75c3ad0
Fixes #9504: Edit logins (#9693)
* Create editable view and fragment. Update login info page to display options menu with edit and delete.

* Create feature flag for edit. Check flag in the login detail fragment and default to just delete.

* Add three-dot kebab options menu in login detail fragment. Add title to the login item.

* Nav to and from edit view on save and back pressed.

* Save login through AC login manager. Clear text in editable field on button click.

* Match colors, fonts, dimens to UX specs for edit logins. Enable password reveal/hide and clearing text fields.

* Refactoring logins fragments. Using component Login object for consistency.

Fetch login list when saved logins are opened. Fetch login details when detail view is opened.

Revert "Fetch login list when saved logins are opened. Fetch login details when detail view is opened."

This reverts commit 44fe17166c3332b330229258b2e8982832672e3b.

* Using parcelable login and Login component class to pass ids and items between fragments

* Retrieve login from storage when viewing login details.

Rename login logic for consistency.

Ktlint cleanup

Fix nits and naming consistency.

* UX consistency for login detail and edit login pages

* Rebasing with logins sort - updating logins store.

* Rebasing with logins sort - merging fragments and controllers.

* Lint and removing unused files.

* UX cleanup.

* Update string description
2020-05-12 17:32:01 -05:00
ValentinTimisica 77705d1a27 For #9505: Adds tests for sort saved logins 2020-05-07 08:43:59 -07:00
Michael Comella 376740cd2c For #9631: replace assertk assertions with junit.
I created a series of editor macros to do this with minimal errors (and
to do it quickly!).
2020-04-06 16:56:40 -07:00
Michael Comella 6e0d851da3 For #9605: replace unit test runners with FenixRobolectricTestRunner.
This is how we can apply the new test runner to remove duplication.

This commit was generated programmatically with the following commands:
```
  // Replace test runners with new one.
  find app/src/test -type f -exec gsed -i "s/@RunWith(RobolectricTestRunner::class)/@RunWith(FenixRobolectricTestRunner::class)/" {} +
  find app/src/test -type f -exec gsed -i "s/@RunWith(AndroidJUnit4::class)/@RunWith(FenixRobolectricTestRunner::class)/" {} +

  // Replace imports of old test runners with new one
  find app/src/test -type f -exec gsed -i "s/org.robolectric.RobolectricTestRunner/org.mozilla.fenix.helpers.FenixRobolectricTestRunner/" {} +
  find app/src/test -type f -exec gsed -i "s/androidx.test.ext.junit.runners.AndroidJUnit4/org.mozilla.fenix.helpers.FenixRobolectricTestRunner/" {} +

  // Remove unused imports
  find app/src/test -type f -exec gsed -i "/@Config(application = TestApplication::class)/d" {} +
  find app/src/test -type f -exec gsed -i "/import org.mozilla.fenix.TestApplication/d" {} +
  find app/src/test -type f -exec gsed -i "/import org.robolectric.annotation.Config/d" {} +
```

Where gsed is the GNU version of sed installed via homebrew. After
running these commands, I need to manually clean up the following files:
- FenixRobolectricTestRunner
- LocaleManagerExtensionTest
2020-04-03 09:27:49 -07:00
Michael Comella 392dda5eda For #9605: remove unnecessary @RunWith(Robolectric in unit tests.
robolectric increases the run time of tests so it's important to remove
them when they're unnecessary.

Between this change and the last one, the unit test runtime was reduced
by ~10s.
2020-04-03 09:27:49 -07:00
Michael Comella f2acef66b5 For #9605: remove unnecessary @RunWith(AndroidJUnit4) in unit tests.
In unit tests, this annotation annotations defer to robolectric, non-trivially
increasing test runtime so it's important to remove them when they're
unnecessary.
2020-04-03 09:27:49 -07:00
Amaan Marfatia 3dcfed3761 AboutPageAdapter doesn't use notifyDataSetChanged()
We make the AboutPageAdapter inherit from a ListAdapter so that we don't use notifyDataSetChanged().
2020-03-27 17:23:27 -07:00
Severin Rudie 35a132d7ff
8017 advanced autoplay controls. (#8978)
* For #8017: add advanced autoplay controls
2020-03-20 12:10:42 -07:00
Arturo Mejia 7dff584b82 Remove @ObsoleteCoroutinesApi from tests 2020-03-18 17:25:51 -07:00
ekager e2bfe8d0db For #8621 - Disable failing handlePermissionsChange test 2020-03-04 08:13:46 -08:00
Severin Rudie 69c6de7cd4
For #8411: integrate AC permissions changes (#8618) 2020-02-25 07:36:19 -08:00
Mihai Adrian 4be693255d
For #8565: Fix updating dropdown preferences in ETP settings! (#8573)
* For #8565: Create custom SharedPreferenceUpdater for String Preferences

* For #8565: Use custom updater to correctly update DropDownPreference

* For #8565: Set default values for dropDown preferences

* For 8565: add tests for findEntriesValue

* For 8565: clarified findEntryValue

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2020-02-24 18:07:02 -08:00
ekager 37b50e08ea No issue: Disable two intermittent failing tests 2020-02-21 21:10:54 -08:00
Mihai Branescu 9d972fa1d0 For #4231 added unit tests for most recent apps 2020-02-19 10:36:58 -08:00
Emily Kager 2264e6e1b1 For #6623 - Adds ability to delete a login 2020-02-13 16:04:26 -08:00
Kate Glazko 7c00a1ad6b For #5073: View Site Cert 2020-02-07 09:10:31 -08:00
Mihai Branescu 7b9f74138c For #7559 - added unit test for same locale selected 2020-02-03 19:24:12 +01:00
David Walsh f728cdaf05
Bug 7189 - Provide page title in website information dialog (#7255)
* Bug 7189 - Provide page title in website information dialog

* Update QSFS test

* Fix Tiger's nits
2020-01-30 11:24:53 -08:00
Mihai Branescu b3d99c6bba
For #7679 - Replaced comparison by reference with value, added check for default in order to avoid double checkmark (example: default + English) (#7729) 2020-01-28 19:22:04 +02:00
Mihai Adrian 622fdadde8 For #7272: Show info when saved logins list is empty. (#7891)
* For #7272: Show info when saved logins list is empty

* For #7272: Updated unit tests
2020-01-24 18:13:44 -08:00
Kaaira Gupta 08cce8cf58 for #7421 :removed collection from clear browsing history 2020-01-21 19:00:59 -08:00
ekager 0777fb3bbe For #5545 For #5542 Closes #6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 2020-01-15 12:14:08 -08:00
Rushab Kumar e6791b5c08 For #7154 - Fix crash when tapping on "Blocked" in the site info panel (#7404) 2020-01-08 13:51:45 -08:00
Mihai Branescu ea2411a88b Feature/#220 language menu (#7070)
* For #220
- Added advanced header + locale settings item in the settings fragment

* For #220
- Added locale selection page with lib state + handling of locale changes

* For #220
- Removed registering for locale changes in the manifest, allow system
to restart activity in that scenario

* For #220
- Added unit tests for locale settings page

* For #220: fixed an outdated unit test
ga-a

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2020-01-03 18:15:35 -08:00
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
2020-01-02 14:31:52 -08:00
Tiger Oakes ea486d7c66
Split out CustomTabToolbarIntegration (#7107) 2019-12-17 12:26:46 -08:00
ValentinTimisica b819cb11c9 For #4776: Added Unit tests for About Page. 2019-12-12 11:34:10 +02:00
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 2019-11-08 08:37:15 -08:00
ekager 18c0525ff6 Use new API for ETP Exceptions 2019-11-05 12:45:58 -08:00
Mugurell c5739df969 For #4126 - Add tests for the new classes resulting from refactoring
Used runBlocking to ensure we wait for the code using coroutines to execute
instead of runBlockingTest and join() since this last option led to failed
tests in CI because of
"java.lang.IllegalStateException: This job has not completed yet".
2019-10-31 17:08:40 -07:00
ValentinTimisica 485ccba189 Fixes #5323: Show a snackbar while browsing data is deleting. (#6105) 2019-10-21 09:57:06 -07:00
shldhll 265f89e772 Added required coroutines in tests. Closes #5876 2019-10-11 00:01:07 +05:30