* Removed api tests for RelationType since it is impossible to create/update/delete relation type
* Fixed api tests for UserGroup
* Fixed api tests for UserAvatar
* Fixed api tests for User
* Fixed api tests for Temporary File
* Fixed api tests for Dictionary
* Fixed api tests for DataType
* Fixed api tests for DataTypeFolder
* Cleaned up
* Bumped version of test helper
* Update tests/Umbraco.Tests.AcceptanceTest/tests/ApiTesting/Dictionary/Dictionary.spec.ts
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Reversed the api tests for Relation Type
---------
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Bumped version of test helper
* Changed clickCreateButton to clickCreateLink due to UI changes
* Bumped version of json builder
* Changed delete folder method
* Bumped version of test helper
* Added skip tests since currently only can view relations
* Created extension class so we can ensure native line endings
* Added usage of extension method for ensuring native line endings
* Added tests, to see if the snippets return the correct content
* Removed space
* Added tests for Examine Management tab
* Added tests for Heath Check
* Added tests for Models Builder
* Added tests for Profiling
* Added tests for Published Status
* Bumped version
* Added tests for Welcome Dashboard
* Updated test name
* Bumped version of test helper
* Bumped version of test helpers
* Replace " with '
* Fixed comments
* Bumped version of test helper
* Added tests for Examine Management tab
* Added tests for Heath Check
* Added tests for Models Builder
* Added tests for Profiling
* Added tests for Published Status
* Bumped version
* Added tests for Welcome Dashboard
* Updated test name
* Bumped version of test helper
* Bumped version of test helpers
* Replace " with '
* Added beforeEach() and remove .skip for the passed tests
* Fixed failed tests and add the tests to cover query builder
* Bumped version of test helper
* Updated api tests for Partial View as the endpoints are changed
* Fixed failed tests and remove .skip tests
* Updated test helper version and api tests for Partial View as the name of method changes
* Changed createButton() to createThreeDotsButton()
* Bumped version
* Bumped version of test helper
* Fixed comments
* Added more waits
* Splited tests out
* Changed verification method
* Added debug
* Removed console.log() and increased wait time
* Changed expect from toEqual to toBeTruthy
* Changed to use "" instead of ''
* more changes
* Updated the expectedPartialViewContent
* Changes
* Removed
* Fixed test
* Update PartialView.spec.ts
* Removed .skip
* Added code to detect os platform
* Updated expectedPartialViewContent varibale
* Added waits
* Bumped version of test helper
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Updated test to work. And skips tests unable to work until frontend is ready
* Decreased time for tests
* Update playwright.config.ts
Decreased to 40 seconds
* Fixed failing tests
* Updated tests to use the updated helpers
* Clean up tests
* Enabled our pipeline for E2E testing
* Updated the CMS URl for our E2E tests
* Bumped version of our testHelpers
* Did some fixing, still a bit more to do
* Updated auth tests to use LoginUiHelper
* Updated Telemetry tests to use TelemetryUiHelper
* Updated LogViewer tests to use LogViewerUiHelper
* Updated api tests to apply AAA pattern and fix failed tests
* Removed unused import
* Fixed comments
* Bumped version of test helper
* Updated the version to 10 instead of 11
* Updated the package-lock.json file to contain the correct versions
* Added a waitForTimeout
The reason for this is that this test is failing on the pipeline
* V14 Added acceptance test for basic functions of Data Type, Approved Color and Label (#15551)
* Updated api tests for DataType
* Added ui tests for basic functions of DataType
* Added ui tests for Approved color
* Added ui tests for Label
* Fixed comments
* V14 Added acceptance tests for Date Picker (#15561)
* Updated api tests for DataType
* Added ui tests for basic functions of DataType
* Added ui tests for Approved color
* Added ui tests for Label
* Added ui tests for Date Picker
* Removed blank line
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
---------
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* V14 Added acceptance test for List View (#15575)
* Updated api tests for DataType
* Added ui tests for basic functions of DataType
* Added ui tests for Approved color
* Added ui tests for Label
* Added ui tests for Date Picker
* Fix merged
* Updated DatePicker and Label tests to apply best practices
* Added ui tests for ListView
* V14 Added acceptance tests for Image Cropper, Numeric and Radiobox (#15599)
* Added ui tests for ImageCropper
* Added ui tests for Numeric
* Added ui tests for Radiobox
* Updated tests for Approved Color to change the way to arrange test data
* Change "" to '' and updated before/after methods
* V14 Added acceptance test for Textarea, Textstring, Upload (#15606)
* Added ui tests for Textarea
* Added ui tests for Textstring
* Added ui tests for Upload Article, Upload Audio, Upload File, Upload Vector Graphics, Upload Video
* Fixed failing tests due to api changes
* Changed propertyEditorAlias to editorAlias due to api changes
* Removed the step to check notification displays and changed string variables to numeric variables due to api changes
* Updated the skip tests
* Added skip tests and update method name due to test helper changes
* Splited tests out
* Bumped version
* Changed '' to '
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Remove Linux only Docker build for E2E tests
* Fix cmsVersion variable
* Remove custom build number step (already done by Nerdbank.GitVersioning)
* Add and use global.json to configure .NET SDK version
* Only publish tests build output
* Only include unit tests and integration build output (without reference assemblies)
* Added "pr: none" to nightly trigger (#15044)
* Only run SQL Server Acceptance Tests on release builds or when parameter is set
* Use SQLite in-memory database and configure database optimizations (#15461)
* Disable content version cleanup and server election
* Reference Umbraco.Tests.AcceptanceTest.UmbracoProject instead of copying files
* Suspend/disable scheduled publishing
* Ensure all Playwright results are copied to the artifact staging directory
* Update E2E SQL Server job and also run on Linux
* Fix building acceptance test project
* Fix building acceptance test project (suing PrivateAssets)
* Explicitly disable building project references in E2E tests and use pre-built output
* Include obj folder of acceptance test project in build artifacts
* Download build artifacts
* Re-add PrivateAssets
* Revert to copying C# files to E2E application
* Disable Integrated Security for SQL Server on Linux
* Update SQL Server on Linux connection string
* Disable encryption on SQL Server for Linux
* Update SQL Server on Linux steps
* Add Database to SQL Server connection string on Linux
* Update Integration Tests and use SQL Server 2022 Docker image
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 0e1ca76d6e)
* Remove Linux only Docker build for E2E tests
* Fix cmsVersion variable
* Remove custom build number step (already done by Nerdbank.GitVersioning)
* Add and use global.json to configure .NET SDK version
* Only publish tests build output
* Only include unit tests and integration build output (without reference assemblies)
* Added "pr: none" to nightly trigger (#15044)
* Only run SQL Server Acceptance Tests on release builds or when parameter is set
* Use SQLite in-memory database and configure database optimizations (#15461)
* Disable content version cleanup and server election
* Reference Umbraco.Tests.AcceptanceTest.UmbracoProject instead of copying files
* Suspend/disable scheduled publishing
* Ensure all Playwright results are copied to the artifact staging directory
* Update E2E SQL Server job and also run on Linux
* Fix building acceptance test project
* Fix building acceptance test project (suing PrivateAssets)
* Explicitly disable building project references in E2E tests and use pre-built output
* Include obj folder of acceptance test project in build artifacts
* Download build artifacts
* Re-add PrivateAssets
* Revert to copying C# files to E2E application
* Disable Integrated Security for SQL Server on Linux
* Update SQL Server on Linux connection string
* Disable encryption on SQL Server for Linux
* Update SQL Server on Linux steps
* Add Database to SQL Server connection string on Linux
* Update Integration Tests and use SQL Server 2022 Docker image
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Fixed failing tests
* Updated tests to use the updated helpers
* Clean up tests
* Enabled our pipeline for E2E testing
* Updated the CMS URl for our E2E tests
* Bumped version of our testHelpers
* Did some fixing, still a bit more to do
* Updated auth tests to use LoginUiHelper
* Updated Telemetry tests to use TelemetryUiHelper
* Updated LogViewer tests to use LogViewerUiHelper
* Updated api tests to apply AAA pattern and fix failed tests
* Removed unused import
* Added api tests for RelationType
* Added ui tests for Relation Type
* Bumped test helper version
* Added api tests for Relation Types
* Updated ui tests for Relation types
* Updated method due to the test helper changes
* Bumped version
* Fixed merged
* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts
Added ;
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts
Updated name of method
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts
Updated name of method
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* In progress tests
* Updated createdPackaged tests
* Added test for checking if we are able to see the marketplace
* Added tests for checking if the correct message is shown
* Made quite a lot of changes, used the locators in the testHelpers. Added additional tests
* Updated to match changes to the Ui TestHelpers
* Fixed test
* added package file
* Bumped versions
* Updated naming
* Fixed Acceptance Test to match patterns
* Updated locator in test.
* Added Act comment
* Followed comments from PR
* Bumped version of TestHelper
* Added .udt test files
* Updated api tests for Dictionary
* Added ui tests for Dictionary
* Updated ui tets for Dictionary as TestHelper is changed
* Updated ui tests of Dictionary
* Updated verify step
* Fixed comments
* Imported crypto into Dictionary.spec.ts
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Fixed format
---------
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Fixed failing tests
* Updated tests to use the updated helpers
* Clean up tests
* Enabled our pipeline for E2E testing
* Updated the CMS URl for our E2E tests
* Bumped version of our testHelpers
* Did some fixing, still a bit more to do
* Updated auth tests to use LoginUiHelper
* Updated Telemetry tests to use TelemetryUiHelper
* Updated LogViewer tests to use LogViewerUiHelper
* Updated api tests to apply AAA pattern and fix failed tests
* Removed unused import
* Fixed comments
* Bumped version of test helper
* Updated the version to 10 instead of 11
* Updated the package-lock.json file to contain the correct versions
* Added a waitForTimeout
The reason for this is that this test is failing on the pipeline
* Bumped version of testhelpers
* Removed TODO
* Updated EnsurePathExists so we create the stylesheet and scripts folder
* Added a waits for response, otherwise our test would be too fast
* Sometimes it reloads before the save is complete
* Added timeout for locator
* Removed duplicate
* Wait until save
* This was an actual bug, so we should not use a workaround, we should fix it
* Skips the tests for script.
* Bug was fixed, so this can be used again
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Use version overrides for ImageSharp 2
* Move Directory.Packages.props to root, use GlobalPackageReference and replace Microsoft.CSharp with Microsoft.CodeAnalysis.CSharp
* Replace NPoco.SqlServer with NPoco and remove unused System dependencies
* Fix package validation and MSBuild warnings
* Add nuget.config and enable package source mapping
* Remove explicitly set C# language version
* Add empty Directory.Packages.props file for acceptance test
* Downgrade SixLabors.ImageSharp back to 3.0.2 because of breaking changes
* Update ImageSharp/ImageSharp.Web to 3.1.0 and use ComputeHMAC
* Refactor acceptance tests for Partial View
* Refactor api tests for Partial View
* Bumped version of Test Helper
* Added suggestion from review
* Bumped version to testhelpers 2.0.8
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Moved to centralized nuget packages
* Handle JsonSchema
* Change PackageReference to PackageVersion
* Opt out of central package management for mangement api (at least for versions less than 14) and the UI project
* ManagePackageVersionsCentrally = false
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* change working directory
* workingDirectory
* Force the template to use local nuget packages
* Force the template to use local nuget packages
* clean up
* added wait on
* added wait on
* Added acceptance test for Stylesheets
* Updated api test for stylesheet using new helpers and apply AAA pattern
* Bumped version of Test Helpers
* Updated api and ui tests of Stylesheet after modifying TestHelper
* Updated stylesheets ui tests using openActionMenuAtRoot()
* Added suggestions from review
* Added wait for the flaky tests
* Fixed package-lock.json
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Updated api script tests for using new helpers and the AAA pattern
* Added acceptance tests for the scripts
* updated naming
* Bumped version of testHelpers
* Added suggestions from review
* Updated existing locator as it was prone to failing
* Removed old tests from earlier versions
* Added a timeout and an await. This was because the locator sometimes failed
* Added missing import for crypto
* Updated locator as it sometimes failed.
* Updated the README to include information for using the UI mode for playwright
* Bumped the timeout time for our tests
* We updated the naming for out methods in our testHelpers, so we need to update the usage as well
* Added additional timeout
* Updated the config so it is easier to understand what you need to input
* Added UI acceptance tests for templates
* Added types/node, allows us to use crypto. Updated the testhelpers to use the newest version.
* fixed error with testhelper dependency
* Bumped testhelper version
* Moved to settings instead of templating
* Added log viewer tests, not done yet
* Updated auth to work
* Updated the authentication test
* Cleaned up the Logviewer tests
* Removed old acceptance tests
* Fixed failing test
* Updated old tests and added additional log viewer tests
* Bumped version and deleted duplicate dependencies
* Fixed naming
* Added a TODO
* implement interface
* add build targets for login screen
* package lock
* move components to pages folder
* load logo and background from property
* styling
* move mocks around
* remove unused vars
* add backoffice handlers
* install rxjs
* add mock data
* add element and context for localization
* mock data
* use umb-localize
* remove the extra logic with check for section_
* change key for login button
* add base to vite environment
* login styling
* cleanup and button styling
* use correct reset url
* change body of reset request
* validate password reset code
* redirect to /login/new on reset password code verify
* add obsolete messages
* remove inline scripts for old backoffice
* remove shadowdom from localize element
* Revert "remove shadowdom from localize element"
This reverts commit 46ae282f7ce9235c15f160d57d54acd5d3378668.
* hook up reset password to api
* rename pages to state as it is not actually used as different pages
* reset password styling
* more styling
* add confirmation page to new password
* set router to firstUpdated to avoid rAF
* set a custom baseUrl on the router to make sure it works without trailing slash
* use route parameters to redirect on the login page to ensure correct escaping
* add server variables
* make sure auth layout uses the provided properties for images
* format
* redirect to code expired page
* add missing properties
* use allowPasswordReset and allowInvite properties in routing and layout
* make ts happy
* cleanup
* init invite page
* hook up usernameIsEmail
* init external login providers
* add mock provider
* add padding to buttons
* replace uui button with normal button
* add external login providers as slot
* add disableLocalLogin property
* add form to external login providers
* remove unused method
* fix build errors
* add attributes for external login
* add custom view to external login
* add new custom icon registry
* attach two icon registries
* use relative paths
* use relative paths
* use main registry instead of providing directly
* add look and color to external login
* implement getIcons() method
* use getIcons() to request icons
* install remixicon to supplement backoffice icons (replacing font-awesome eventually)
* move icon registries to auth element
* Revert "install remixicon to supplement backoffice icons (replacing font-awesome eventually)"
This reverts commit 0c6659d8d9dfe0664314ec6a3acaa8e20cb606ed.
* add icons for common external providers
* add more icons
* remove resetCode hack as it is no longer needed
* add validation to new password
* get gretting from translation file
* add hack to get text left aligned in uui-button
* add custom router
* WIP Use router
* also change the URL during an action
* update login action to redirect to /new when needed
* redirect to login from reset and new if not allowed
* fix new password button href
* use property on login element instead of context
* check for redirect on invite-user
* move fake external login providers to index.html for use in dev server
* allow password reset on dev server
* add look and color
* only set styles for default view buttons
* suppress vite import warning
* check and inform for errors and show 'nothing' if a custom view fails to load
* fix mock path for localizedtext
* fix build errors
* ensure that msw (and all its dependencies) do not end up in the production bundle (saved ~500 KB)
* Revert AngularValueExternalLoginInfoScriptAsync removal
* forward the providerName to custom views
* change default icon
* add button look and color to external login provider options
* add obsolete to ButtonStyle and add a mapper to new values
* add required xml comments
* map external login providers to <umb-login-external />
* fix typo
* only show external login layout if there are slotted children
* pass on name as "provider"
* send externalLoginUrl to custom views
* cleanup
* global import
* hide external logins completely when empty
* cleanup
* setup redirect to invite
* rename pages to name-page
* fix names and paths
* use new password layout for invite and new password
* add comments
* cleanup and use confirmation element
* set parameters after successful verifyinvite
* map display-name and provider-name to the external element
* map display-name
* set up external login to handle correct display- and provider-name with documentation
* add support for disabling local login
* update path to handlers
* add more localization
* add handlers for 2fa
* router should support a factory for component
* push login to ?flow=mfa on 402 codes
* add page to handle 2fa/mfa
* add support for custom routing
* add fallback for welcome greeting
* handle AngularJS silliness
* fix typo
* fix router and replace custom umbroute:statechange event with native pushState
* simplify code and cleanup
* a11y improvements
* you can now navigate to anywhere from anywhere with pushState
* access the "twoFactorView" from the backend
* set the default implemented twoFactorView to NULL
* add initial logic to handle a custom mfa view
* roll back custom pushState changes
* add mocks for 2fa custom view
* use router redirect
* re-enable click url change
* cleanup
* remove debug buttons
* add unsafeHTML to localize element
* load mfa custom views
* load custom view
* improve external login custom views
* using optimisation
* add current culture
* only show mfa page if 402 code has been encountered in same session
* format
* remove unnesesary action
* add new user invite password
* remove console log
* fix getting stuck at new password page if you've triggered custom validity
* unify layouts
* add styling to buttons in error layout
* remove unused css
* add error message to new password page
* add error message to reset password
* add error message to invite page
* fix invite page not being rendered
* cleanup
* add obsolete notice to PostSetInvitedUserPassword
* add request model to set a new password for an invited user
* add new method to handle invited user password
* add get password config api call
* fix password config parameters and add invite call
* get invited user
* get password config
* assign unique guid to login project
* add userId to get password config and use the config as validation
* fix
* add alerts
* fix the new password layout
* auth redirects invite error to error page
* use password config on new password page
* remove console log
* move file and remove unused extension
* make ts happy
* file structure
* rename login-extern to external-login-provider
* update element name
* update dependencies
* export custom-view.element.ts
* remove debug
* use umb-custom-view to load custom views
* build types
* move @umbraco/uui to the login app and import from there in backoffice
* make the ui library and icon registry generally available as exports from the login app
* add mock handler for icons
* cleanup package
* use uui for external login providers in the backoffice
* add imports and enable the backoffice icon registry globally
* disable shadowdom
* default background image
* use undefined
* revert angular values
* remove legacy sys variables
* add logic to handle mfa in an overlay scenario without routing
* add new login screen to replace the overlay when logged in to the backoffice
* update spec to work with locators
* cleanup of legacy context
* ViewData is not always required
* add method to solely return the default view of the backoffice to simply BackofficeController as well as unit tests
* add test for the login view
* cleanup usings
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* remove 'remember me'
* add more contrast to external login divider
* update dependencies
* set "lang" attribute to lowercase
* remove default headline
* localize the "Or" divider and add aria-hidden
* remove Umbraco reference from logo and add aria-hidden
* add aria-hidden to uui-icon inside external login buttons
* format code
* update dependencies
* update dependencies
* add translations to invite user page
* use back to login button
* update localization-context.ts to match api from old LocalizeService in Angular
* add tsc to watch
* formatting
* add missing localizations
* fix a11y issues with muted text
* refresh current user after login
* remove unused variable
* add localization
* add localization for error messages
* remove unused var
* return user after login and set successful auth
* retry request queue after login
* add language keys for failed login
* add language keys for failed login
* render the views without a router so that it works inside a modal in the backoffice
* add autocomplete to reset password fields
* add autocomplete to login screen
* add generic error layout to new-password-page
* new-password-layout should be able to handle with and without username
* update language keys
* check for userId before trying to request invited user
* show error when no invited user is found
* place back-to-login button on all error layouts
* update lockfile
---------
Co-authored-by: Jesper Møller Jensen <26099018+JesmoDev@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>