Skip to content

Manage achievement order on profile

What does this MR do and why?

Manage achievement order on profile

Changelog: added

Screenshots or screen recordings

No UI changes

How to set up and validate locally

  1. Feature.enable(:achievements)
  2. Log in and have achievements bin/rake db:seed_fu FILTER=36_achievements
  3. Get GIDs for Achievements::UserAchievement
    query {
      user(username: "root") {
        userAchievements {
          nodes {
            id
            achievement { name }
            priority
          }
        }
      }
    }
  4. Update the priority for some achievements
    mutation {
      userAchievementPrioritiesUpdate(input: {
        userAchievementIds: ["gid://gitlab/Achievements::UserAchievement/<first user achievement id>", "gid://gitlab/Achievements::UserAchievement/<second user achievement id>"],
      }) {
        userAchievements {
          id
          priority
        }
        errors
      }
    }
  5. Execute the query from point 3 again and verify that the achievements are sorted by their priority property (smallest value first, nulls last)

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #390389

Edited by Niklas van Schrick

Merge request reports