ab3bf6312c
* Persistent user config (#2133) * Added user config API * Add unit tests * lint fix * Fixed webapp tests * Fixed webapp tests * Updated props in store after updating * Minor fixes * Removed redundent data from audit logs * Onboarding Tour (#2287) * Created private board * Roughly displayed tour * Synced with Dhama's changes * WIP * Trying to add GIF * Added 3 tour steps * WIP * WIP * WIP * checked in missed file * Synced with feature branch * WIp * Adde skip tour option * Fixed image loading for on-prem * Made tour work on presonal server: * Adde missed file * Adding telemetry * Adding telemetry * Added tour tip telemetry * Fixed pulsating dot styling for personal server * reverted personal config * Added reset tour button * Displayed share tour tip of feature is enabled * Lint fixes * Fixed webapp tests * Fixed webapp tests * Completed webapp tests * Completed webapp tests * Webapp lint fixes * Added server tests * Testing cypress skip tour fix * Fixed Cypress tests * Added share board tour step * Added share board tour step * webapp lint fixes * Updated logic to pick welcome board * Updated tests: * lint fixes * Updating UI changes * Fixed a bug causing card tour to re-appear * FIxed minor issue * FIxed bug where card tour didn't start in clickingh on card * Fixed tests * Make update user props use string instead of interface * Fixed a value type * Updating gif size * Updating resolution breakpoint * Updating tutorial tip * Updating view selector * Refactored tour components * Misc fixes * minor refactoring * GH-2258: allow date range to overflow (#2268) * allow date range to overflow * Fixed issue with date overflowing into neighbouring column Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Update readme with accurate Linux standalone app build instructions (#2351) * Bump follow-redirects from 1.14.7 to 1.14.8 in /experiments/webext (#2339) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Switch component style fixed: selector specificity increased by adding additional class. (#2179) * Adding sever side undelete endpoint (#2222) * Adding sever side undelete endpoint * Removing long lines golangci-lint errors * Fixing linter errors * Fixing a test problem * Fixing tests Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Removing transactions from sqlite backend (#2361) * Removing transactions from sqlite backend * Skipping tests in sqlite because the lack of transactions * Generating the mocks * Fixing golangci-lint * Fixing problem opening the tour tooltip on card open * Fixing texts missmatch * Adding the Product Tour entry in the user settings menu * Fixing some tests * Fixing tests Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com> Co-authored-by: Scott Bishel <scott.bishel@mattermost.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Doug Lauder <wiggin77@warpmail.net> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kamre <eremchenko@gmail.com> Co-authored-by: Jesús Espino <jespinog@gmail.com> * Restored package json * Restored package json Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com> Co-authored-by: Scott Bishel <scott.bishel@mattermost.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Doug Lauder <wiggin77@warpmail.net> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kamre <eremchenko@gmail.com> Co-authored-by: Jesús Espino <jespinog@gmail.com>
111 lines
3.9 KiB
TypeScript
111 lines
3.9 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
describe('Card URL Property', () => {
|
|
beforeEach(() => {
|
|
cy.apiInitServer()
|
|
cy.apiResetBoards()
|
|
cy.apiGetMe().then((userID) => cy.apiSkipTour(userID))
|
|
localStorage.setItem('welcomePageViewed', 'true')
|
|
})
|
|
|
|
const url = 'https://mattermost.com'
|
|
const changedURL = 'https://mattermost.com/blog'
|
|
|
|
it('Allows to create and edit URL property', () => {
|
|
cy.visit('/')
|
|
|
|
// Create new board
|
|
cy.uiCreateNewBoard('Testing')
|
|
|
|
// Add a new card
|
|
cy.uiAddNewCard('Card')
|
|
|
|
// Add URL property
|
|
cy.log('**Add URL property**')
|
|
cy.findByRole('button', {name: '+ Add a property'}).click()
|
|
cy.findByRole('button', {name: 'URL'}).click()
|
|
cy.findByRole('textbox', {name: 'URL'}).type('{enter}')
|
|
|
|
// Enter URL
|
|
cy.log('**Enter URL**')
|
|
cy.findByPlaceholderText('Empty').type(`${url}{enter}`)
|
|
|
|
// Check buttons
|
|
cy.log('**Check buttons**')
|
|
cy.findByRole('link', {name: url}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).should('exist')
|
|
cy.findByRole('button', {name: 'Copy'}).should('exist')
|
|
|
|
// Change URL
|
|
cy.log('**Change URL**')
|
|
cy.findByRole('link', {name: url}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).click()
|
|
cy.findByRole('textbox', {name: url}).clear().type(`${changedURL}{enter}`)
|
|
cy.findByRole('link', {name: changedURL}).should('exist')
|
|
|
|
// Close card dialog
|
|
cy.log('**Close card dialog**')
|
|
cy.findByRole('button', {name: 'Close dialog'}).click()
|
|
cy.findByRole('dialog').should('not.exist')
|
|
|
|
// Show URL property
|
|
showURLProperty()
|
|
|
|
// Copy URL to clipboard
|
|
cy.log('**Copy URL to clipboard**')
|
|
cy.document().then((doc) => cy.spy(doc, 'execCommand')).as('exec')
|
|
cy.findByRole('link', {name: changedURL}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).should('not.exist')
|
|
cy.findByRole('button', {name: 'Copy'}).click()
|
|
cy.findByText('Copied!').should('exist')
|
|
cy.findByText('Copied!').should('not.exist')
|
|
cy.get('@exec').should('have.been.calledOnceWith', 'copy')
|
|
|
|
// Add table view
|
|
addView('Table')
|
|
|
|
// Check buttons
|
|
cy.log('**Check buttons**')
|
|
cy.findByRole('link', {name: changedURL}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).should('exist')
|
|
cy.findByRole('button', {name: 'Copy'}).should('not.exist')
|
|
|
|
// Add gallery view
|
|
addView('Gallery')
|
|
showURLProperty()
|
|
|
|
// Check buttons
|
|
cy.log('**Check buttons**')
|
|
cy.findByRole('link', {name: changedURL}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).should('not.exist')
|
|
cy.findByRole('button', {name: 'Copy'}).should('exist')
|
|
|
|
// Add calendar view
|
|
addView('Calendar')
|
|
showURLProperty()
|
|
|
|
// Check buttons
|
|
cy.log('**Check buttons**')
|
|
cy.findByRole('link', {name: changedURL}).realHover()
|
|
cy.findByRole('button', {name: 'Edit'}).should('not.exist')
|
|
cy.findByRole('button', {name: 'Copy'}).should('exist')
|
|
})
|
|
|
|
type ViewType = 'Board' | 'Table' | 'Gallery' | 'Calendar'
|
|
|
|
const addView = (type: ViewType) => {
|
|
cy.log(`**Add ${type} view**`)
|
|
cy.findByRole('button', {name: 'View menu'}).click()
|
|
cy.findByText('Add view').click()
|
|
cy.findByRole('button', {name: type}).click()
|
|
cy.findByRole('textbox', {name: `${type} view`}).should('exist')
|
|
}
|
|
|
|
const showURLProperty = () => {
|
|
cy.log('**Show URL property**')
|
|
cy.findByRole('button', {name: 'Properties'}).click()
|
|
cy.findByRole('button', {name: 'URL'}).click()
|
|
cy.findByRole('link', {name: changedURL}).should('exist')
|
|
}
|
|
})
|