Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test "Git" in Web IDE #242

Open
65 tasks
xpyctumo opened this issue Feb 6, 2025 · 0 comments
Open
65 tasks

Test "Git" in Web IDE #242

xpyctumo opened this issue Feb 6, 2025 · 0 comments

Comments

@xpyctumo
Copy link

xpyctumo commented Feb 6, 2025

Web IDE supports Git

  • User should see a Git button in the left side menu
    • Button should be active and open Git Version Control
  • Only "Initialize Git" button should be visible in Git Version Control if user project does not .git folder in project
    • Clicking the button should create a .git folder in the project
      • Should appear 4 panels
        • Changes
        • Remote
        • Sync
        • Setting
  • Panel Changes
    • Should updating (D - delete / U - update / M - modify) while User create/edit/delete files/folders in project
    • Should contain "+" button "Stage all" in top right corner of panel if project have any updates
      • All changes must be successful
      • Changes panel should minimize and the Staged panel appears
        • Contents of the Staged pane should be supplemented by the contents of the Changes pane
      • Input should appear with a field for commit message ("Commit" button also appears)
        • User can type/paste text into the commit field
        • User cannot use the "Commit" button until they have filled in the input
          • Should be a corresponding error in the Log
    • User can separately Stage a file
      • File should move to the Staged panel and disappear from Changes panel
      • Input should appear with a field for commit message ("Commit" button also appears)
        • User can type/paste text into the commit field
        • User cannot use the "Commit" button until they have filled in the input
          • Should be a corresponding error in the Log
  • Panel Remote
    • Should contain input field "GitHub Repository URL" and "Save" button
      • User can type/paste url to repo
      • Save button should save the link to the repository
        • If the user inserts a non-GitHub link, an error should be displayed
        • If user will reload page (Web IDE) - user should see the saved link in the input
        • If the user returned to a Git tab from another tab, the saved link should return to the input
  • Panel Sync
    • Should contain toggle "Force push" and 2 buttons "Pull" && "Push"
    • Pull button
      • Should be an error in the log if the user has not filled in the Username, Email, access token fields in Setting pane
      • Commit history must be identical to the remote repository
      • Information about a successful Pull should be displayed in the Log
      • Other errors when interacting with git should also be displayed in Log
        • Network errors
        • Access rights error
    • Push button
      • Should be an error in the log if the user has not filled in the Username, Email, access token fields in Setting pane
      • User can make a standard Push
      • User can make a standard Force Push
        • Commit history of the remote repository should be overwritten by local history
      • Information about a successful Push should be displayed in the Log
      • Other errors when interacting with git should also be displayed in Log
        • Network errors
        • Access rights error
  • Panel Staged
    • Panel should only be visible if there are any Stage files available
    • Should be a button "Unstage All" in the upper right corner of panel
      • All files from Staged panel are returned to the Changes panel
      • Staged panel disappears
  • Panel Setting
    • Username, Email, Access Token fields must be present
    • Save button must be available and active
      • Validation of all fields before saving, errors for each field
      • Should be a link to the documentation for generating the access token
      • The link should open in a new browser tab
  • User can click on the file in the Staged / Changes panel and a new tab will open in the Web IDE with diff changes
  • All panels must be collapsible and expandable
  • Settings should be stored globally (localStorage?)
    • When the page refreshes, they should be loaded between projects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant