diff --git a/cypress/e2e/main.cy.ts b/cypress/e2e/main.cy.ts new file mode 100644 index 000000000..42c92e978 --- /dev/null +++ b/cypress/e2e/main.cy.ts @@ -0,0 +1,102 @@ +import { OAuthToken } from "../../static/scripts/onboarding/github-login-button"; + +describe("Homepage tests", () => { + const ORG_NAME = "Ubiquity"; + let loginToken: OAuthToken; + + beforeEach(() => { + cy.fixture("get-user.json").then((file) => { + cy.intercept("GET", `https://api.github.com/users/${ORG_NAME}`, (req) => { + req.reply(file); + }).as("githubGetUser"); + }); + cy.fixture("get-ubiquibot-config.json").then((file) => { + cy.intercept("GET", `https://api.github.com/repos/${ORG_NAME}/ubiquibot-config`, (req) => { + req.reply(file); + }).as("githubGetUbiquibotConfig"); + }); + cy.fixture("get-repos.json").then((file) => { + cy.intercept("GET", `https://api.github.com/orgs/${ORG_NAME}/repos`, (req) => { + req.reply(file); + }).as("githubGetRepos"); + }); + cy.fixture("get-installations.json").then((file) => { + cy.intercept("GET", `https://api.github.com/orgs/${ORG_NAME}/installations**`, (req) => { + req.reply(file); + }).as("githubGetInstallations"); + }); + cy.fixture("get-installation-repositories.json").then((file) => { + cy.intercept("GET", `https://api.github.com/user/installations/47252474/repositories`, (req) => { + req.reply(file); + }).as("githubGetInstallationRepositories"); + }); + cy.fixture("put-file.json").then((file) => { + cy.intercept("PUT", `https://api.github.com/user/installations/47252474/repositories/641336624`, (req) => { + req.reply(file); + }).as("githubPutInstallation"); + }); + cy.fixture("put-file.json").then((file) => { + cy.intercept("PUT", `https://api.github.com/repos/${ORG_NAME}/ubiquibot-config/contents/.github%2Fubiquibot-config.yml`, (req) => { + req.reply(file); + }).as("githubPutConfigFile"); + }); + cy.fixture("get-orgs.json").then((file) => { + cy.intercept("GET", `https://api.github.com/user/orgs**`, (req) => { + req.reply(file); + }).as("githubGetUserOrgs"); + }); + cy.fixture("get-org-installations.json").then((file) => { + cy.intercept("GET", `https://api.github.com/orgs/${ORG_NAME.toLowerCase()}/installations**`, (req) => { + req.reply(file); + }).as("githubGetOrgInstallations"); + }); + cy.fixture("get-search.json").then((file) => { + cy.intercept("GET", `https://api.github.com/search/repositories**`, (req) => { + req.reply(file); + }).as("githubSearch"); + }); + cy.fixture("put-config.json").then((file) => { + cy.intercept("PUT", `https://api.github.com/repos/${ORG_NAME.toLowerCase()}/ubiquibot-config/contents/.github**`, (req) => { + req.reply(file); + }).as("githubPutContents"); + }); + cy.fixture("user-token.json").then((content) => { + loginToken = content; + }); + }); + + it("Console is cleared of errors and warnings", () => { + cy.visit("/", { + onBeforeLoad(win) { + cy.stub(win.console, "error").as("consoleError"); + }, + }); + cy.get("@consoleError").should("not.be.called"); + cy.get("body").should("exist"); + }); + + it.only("Create onboarding repository", () => { + cy.visit("/"); + cy.intercept("https://github.com/login/oauth/authorize**", (req) => { + req.reply({ + statusCode: 200, + }); + // Simulate login token + // cspell:ignore wfzpewmlyiozupulbuur + window.localStorage.setItem("sb-wfzpewmlyiozupulbuur-auth-token", JSON.stringify(loginToken)); + }).as("githubLogin"); + cy.get("#github-login-button").click(); + cy.visit("/"); + cy.wait("@githubGetUserOrgs"); + cy.get("#setBtn").click(); + cy.log("Display warning on empty WALLET_PRIVATE_KEY"); + cy.get(":nth-child(3) > .status-log.warn").contains(/.+/); + cy.get("#orgName").select("ubiquity"); + cy.get("#setBtn").click(); + cy.get("#outKey").then((e) => { + expect(e.val()).not.to.be.empty; + }); + cy.log("Expected to be a step 2 of the form"); + cy.get("#stepper > :nth-child(2)").should("have.class", "active"); + }); +}); diff --git a/cypress/fixtures/get-installation-repositories.json b/cypress/fixtures/get-installation-repositories.json new file mode 100644 index 000000000..fea6b4e02 --- /dev/null +++ b/cypress/fixtures/get-installation-repositories.json @@ -0,0 +1,114 @@ +{ + "total_count": 1, + "repositories": [ + { + "id": 767829567, + "node_id": "R_kgDOLcQmPw", + "name": "ubiquibot-config", + "full_name": "Ubiquity/ubiquibot-config", + "private": true, + "owner": { + "login": "Ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Ubiquity", + "html_url": "https://github.com/Ubiquity", + "followers_url": "https://api.github.com/users/Ubiquity/followers", + "following_url": "https://api.github.com/users/Ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/Ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/Ubiquity/orgs", + "repos_url": "https://api.github.com/users/Ubiquity/repos", + "events_url": "https://api.github.com/users/Ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/Ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/Ubiquity/ubiquibot-config", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config", + "forks_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/forks", + "keys_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/teams", + "hooks_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/hooks", + "issue_events_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues/events{/number}", + "events_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/events", + "assignees_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/assignees{/user}", + "branches_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/branches{/branch}", + "tags_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/tags", + "blobs_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/statuses/{sha}", + "languages_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/languages", + "stargazers_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/stargazers", + "contributors_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contributors", + "subscribers_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/subscribers", + "subscription_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/subscription", + "commits_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contents/{+path}", + "compare_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/merges", + "archive_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/downloads", + "issues_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues{/number}", + "pulls_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/pulls{/number}", + "milestones_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/milestones{/number}", + "notifications_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/labels{/name}", + "releases_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/releases{/id}", + "deployments_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/deployments", + "created_at": "2024-03-06T01:00:06Z", + "updated_at": "2024-03-06T01:00:07Z", + "pushed_at": "2024-03-06T01:00:07Z", + "git_url": "git://github.com/Ubiquity/ubiquibot-config.git", + "ssh_url": "git@github.com:Ubiquity/ubiquibot-config.git", + "clone_url": "https://github.com/Ubiquity/ubiquibot-config.git", + "svn_url": "https://github.com/Ubiquity/ubiquibot-config", + "homepage": null, + "size": 0, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": false, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [ + + ], + "visibility": "private", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "main", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + } + } + ] +} diff --git a/cypress/fixtures/get-installations.json b/cypress/fixtures/get-installations.json new file mode 100644 index 000000000..e0170d15f --- /dev/null +++ b/cypress/fixtures/get-installations.json @@ -0,0 +1,130 @@ +{ + "total_count": 2, + "installations": [ + { + "id": 47252474, + "account": { + "login": "Ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Ubiquity", + "html_url": "https://github.com/Ubiquity", + "followers_url": "https://api.github.com/users/Ubiquity/followers", + "following_url": "https://api.github.com/users/Ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/Ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/Ubiquity/orgs", + "repos_url": "https://api.github.com/users/Ubiquity/repos", + "events_url": "https://api.github.com/users/Ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/Ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "all", + "access_tokens_url": "https://api.github.com/app/installations/47252474/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/Ubiquity/settings/installations/47252474", + "app_id": 236521, + "app_slug": "ubiquibot", + "target_id": 159901852, + "target_type": "Organization", + "permissions": { + "issues": "write", + "actions": "write", + "members": "read", + "contents": "write", + "metadata": "read", + "pull_requests": "write" + }, + "events": [ + "commit_comment", + "create", + "delete", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "member", + "membership", + "merge_queue_entry", + "milestone", + "organization", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "pull_request_review_thread", + "push", + "release", + "repository", + "repository_dispatch", + "star", + "team", + "team_add", + "watch", + "workflow_dispatch", + "workflow_job", + "workflow_run" + ], + "created_at": "2024-02-13T19:37:30.000+09:00", + "updated_at": "2024-02-13T19:37:31.000+09:00", + "single_file_name": null, + "has_multiple_single_files": false, + "single_file_paths": [ + + ], + "suspended_by": null, + "suspended_at": null + }, + { + "id": 47255717, + "account": { + "login": "Ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Ubiquity", + "html_url": "https://github.com/Ubiquity", + "followers_url": "https://api.github.com/users/Ubiquity/followers", + "following_url": "https://api.github.com/users/Ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/Ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/Ubiquity/orgs", + "repos_url": "https://api.github.com/users/Ubiquity/repos", + "events_url": "https://api.github.com/users/Ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/Ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "selected", + "access_tokens_url": "https://api.github.com/app/installations/47255717/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/Ubiquity/settings/installations/47255717", + "app_id": 827286, + "app_slug": "ubi", + "target_id": 159901852, + "target_type": "Organization", + "permissions": { + + }, + "events": [ + + ], + "created_at": "2024-02-13T21:12:10.000+09:00", + "updated_at": "2024-02-13T21:12:10.000+09:00", + "single_file_name": null, + "has_multiple_single_files": false, + "single_file_paths": [ + + ], + "suspended_by": null, + "suspended_at": null + } + ] +} diff --git a/cypress/fixtures/get-org-installations.json b/cypress/fixtures/get-org-installations.json new file mode 100644 index 000000000..69afcbe5b --- /dev/null +++ b/cypress/fixtures/get-org-installations.json @@ -0,0 +1,84 @@ +{ + "total_count": 1, + "installations": [ + { + "id": 47252474, + "account": { + "login": "ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "selected", + "access_tokens_url": "https://api.github.com/app/installations/47252474/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/ubiquity/settings/installations/47252474", + "app_id": 236521, + "app_slug": "ubiquibot", + "target_id": 159901852, + "target_type": "Organization", + "permissions": { + "issues": "write", + "actions": "write", + "members": "read", + "contents": "write", + "metadata": "read", + "pull_requests": "write" + }, + "events": [ + "commit_comment", + "create", + "delete", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "member", + "membership", + "merge_queue_entry", + "milestone", + "organization", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "pull_request_review_thread", + "push", + "release", + "repository", + "repository_dispatch", + "star", + "team", + "team_add", + "watch", + "workflow_dispatch", + "workflow_job", + "workflow_run" + ], + "created_at": "2024-02-13T19:37:30.000+09:00", + "updated_at": "2024-03-11T20:40:33.000+09:00", + "single_file_name": null, + "has_multiple_single_files": false, + "single_file_paths": [ + + ], + "suspended_by": null, + "suspended_at": null + } + ] +} diff --git a/cypress/fixtures/get-orgs.json b/cypress/fixtures/get-orgs.json new file mode 100644 index 000000000..4d1b47bb1 --- /dev/null +++ b/cypress/fixtures/get-orgs.json @@ -0,0 +1,30 @@ +[ + { + "login": "ubiquity2", + "id": 76412718, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc2NDEyNzE4", + "url": "https://api.github.com/orgs/ubiquity2", + "repos_url": "https://api.github.com/orgs/ubiquity2/repos", + "events_url": "https://api.github.com/orgs/ubiquity2/events", + "hooks_url": "https://api.github.com/orgs/ubiquity2/hooks", + "issues_url": "https://api.github.com/orgs/ubiquity2/issues", + "members_url": "https://api.github.com/orgs/ubiquity2/members{/member}", + "public_members_url": "https://api.github.com/orgs/ubiquity2/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/76412717?v=4", + "description": "The Metaverse Bank 2." + }, + { + "login": "ubiquity", + "id": 76412717, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc2NDEyNzE3", + "url": "https://api.github.com/orgs/ubiquity", + "repos_url": "https://api.github.com/orgs/ubiquity/repos", + "events_url": "https://api.github.com/orgs/ubiquity/events", + "hooks_url": "https://api.github.com/orgs/ubiquity/hooks", + "issues_url": "https://api.github.com/orgs/ubiquity/issues", + "members_url": "https://api.github.com/orgs/ubiquity/members{/member}", + "public_members_url": "https://api.github.com/orgs/ubiquity/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/76412717?v=4", + "description": "The Metaverse Bank." + } +] diff --git a/cypress/fixtures/get-repos.json b/cypress/fixtures/get-repos.json new file mode 100644 index 000000000..4ea6823db --- /dev/null +++ b/cypress/fixtures/get-repos.json @@ -0,0 +1,145 @@ +{ + "id": 767829567, + "node_id": "R_kgDOLcQmPw", + "name": "ubiquibot-config", + "full_name": "Ubiquity/ubiquibot-config", + "private": true, + "owner": { + "login": "Ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Ubiquity", + "html_url": "https://github.com/Ubiquity", + "followers_url": "https://api.github.com/users/Ubiquity/followers", + "following_url": "https://api.github.com/users/Ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/Ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/Ubiquity/orgs", + "repos_url": "https://api.github.com/users/Ubiquity/repos", + "events_url": "https://api.github.com/users/Ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/Ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/Ubiquity/ubiquibot-config", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config", + "forks_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/forks", + "keys_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/teams", + "hooks_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/hooks", + "issue_events_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues/events{/number}", + "events_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/events", + "assignees_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/assignees{/user}", + "branches_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/branches{/branch}", + "tags_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/tags", + "blobs_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/statuses/{sha}", + "languages_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/languages", + "stargazers_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/stargazers", + "contributors_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contributors", + "subscribers_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/subscribers", + "subscription_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/subscription", + "commits_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contents/{+path}", + "compare_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/merges", + "archive_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/downloads", + "issues_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/issues{/number}", + "pulls_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/pulls{/number}", + "milestones_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/milestones{/number}", + "notifications_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/labels{/name}", + "releases_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/releases{/id}", + "deployments_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/deployments", + "created_at": "2024-03-06T01:00:06Z", + "updated_at": "2024-03-06T01:00:07Z", + "pushed_at": "2024-03-06T01:00:07Z", + "git_url": "git://github.com/Ubiquity/ubiquibot-config.git", + "ssh_url": "git@github.com:Ubiquity/ubiquibot-config.git", + "clone_url": "https://github.com/Ubiquity/ubiquibot-config.git", + "svn_url": "https://github.com/Ubiquity/ubiquibot-config", + "homepage": null, + "size": 0, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": false, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [ + + ], + "visibility": "private", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "main", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + }, + "allow_squash_merge": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "allow_auto_merge": false, + "delete_branch_on_merge": false, + "allow_update_branch": false, + "use_squash_pr_title_as_default": false, + "squash_merge_commit_message": "COMMIT_MESSAGES", + "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", + "merge_commit_message": "PR_TITLE", + "merge_commit_title": "MERGE_MESSAGE", + "custom_properties": { + + }, + "organization": { + "login": "Ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Ubiquity", + "html_url": "https://github.com/Ubiquity", + "followers_url": "https://api.github.com/users/Ubiquity/followers", + "following_url": "https://api.github.com/users/Ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/Ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/Ubiquity/orgs", + "repos_url": "https://api.github.com/users/Ubiquity/repos", + "events_url": "https://api.github.com/users/Ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/Ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "network_count": 0, + "subscribers_count": 0 +} diff --git a/cypress/fixtures/get-search.json b/cypress/fixtures/get-search.json new file mode 100644 index 000000000..f99cfadc8 --- /dev/null +++ b/cypress/fixtures/get-search.json @@ -0,0 +1,116 @@ +{ + "total_count": 1, + "incomplete_results": false, + "items": [ + { + "id": 770341621, + "node_id": "R_kgDOLep69Q", + "name": "ubiquibot-config", + "full_name": "ubiquity/ubiquibot-config", + "private": true, + "owner": { + "login": "ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/ubiquity/ubiquibot-config", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/ubiquity/ubiquibot-config", + "forks_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/forks", + "keys_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/teams", + "hooks_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/hooks", + "issue_events_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues/events{/number}", + "events_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/events", + "assignees_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/assignees{/user}", + "branches_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/branches{/branch}", + "tags_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/tags", + "blobs_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/statuses/{sha}", + "languages_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/languages", + "stargazers_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/stargazers", + "contributors_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/contributors", + "subscribers_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/subscribers", + "subscription_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/subscription", + "commits_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/contents/{+path}", + "compare_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/merges", + "archive_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/downloads", + "issues_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues{/number}", + "pulls_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/pulls{/number}", + "milestones_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/milestones{/number}", + "notifications_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/labels{/name}", + "releases_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/releases{/id}", + "deployments_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/deployments", + "created_at": "2024-03-11T11:39:17Z", + "updated_at": "2024-03-11T11:39:17Z", + "pushed_at": "2024-03-11T11:39:18Z", + "git_url": "git://github.com/ubiquity/ubiquibot-config.git", + "ssh_url": "git@github.com:ubiquity/ubiquibot-config.git", + "clone_url": "https://github.com/ubiquity/ubiquibot-config.git", + "svn_url": "https://github.com/ubiquity/ubiquibot-config", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": false, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [ + + ], + "visibility": "private", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "main", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + }, + "score": 1.0 + } + ] +} diff --git a/cypress/fixtures/get-ubiquibot-config.json b/cypress/fixtures/get-ubiquibot-config.json new file mode 100644 index 000000000..b285e3489 --- /dev/null +++ b/cypress/fixtures/get-ubiquibot-config.json @@ -0,0 +1,146 @@ +{ + "id": 641336624, + "node_id": "R_kgDOJjoFMA", + "name": "ubiquibot-config", + "full_name": "ubiquity/ubiquibot-config", + "private": true, + "owner": { + "login": "ubiquity", + "id": 76412717, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc2NDEyNzE3", + "avatar_url": "https://avatars.githubusercontent.com/u/76412717?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/ubiquity/ubiquibot-config", + "description": "The organization-wide default UbiquiBot configuration.", + "fork": false, + "url": "https://api.github.com/repos/ubiquity/ubiquibot-config", + "forks_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/forks", + "keys_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/teams", + "hooks_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/hooks", + "issue_events_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues/events{/number}", + "events_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/events", + "assignees_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/assignees{/user}", + "branches_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/branches{/branch}", + "tags_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/tags", + "blobs_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/statuses/{sha}", + "languages_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/languages", + "stargazers_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/stargazers", + "contributors_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/contributors", + "subscribers_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/subscribers", + "subscription_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/subscription", + "commits_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/contents/{+path}", + "compare_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/merges", + "archive_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/downloads", + "issues_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/issues{/number}", + "pulls_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/pulls{/number}", + "milestones_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/milestones{/number}", + "notifications_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/labels{/name}", + "releases_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/releases{/id}", + "deployments_url": "https://api.github.com/repos/ubiquity/ubiquibot-config/deployments", + "created_at": "2023-05-16T09:05:13Z", + "updated_at": "2023-08-27T05:04:55Z", + "pushed_at": "2024-02-02T10:21:15Z", + "git_url": "git://github.com/ubiquity/ubiquibot-config.git", + "ssh_url": "git@github.com:ubiquity/ubiquibot-config.git", + "clone_url": "https://github.com/ubiquity/ubiquibot-config.git", + "svn_url": "https://github.com/ubiquity/ubiquibot-config", + "homepage": "", + "size": 46, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [ + + ], + "visibility": "private", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "development", + "permissions": { + "admin": false, + "maintain": false, + "push": true, + "triage": true, + "pull": true + }, + "temp_clone_token": "ACK2JIAP6BCCDFY4KMHIIHDF43KQE", + "allow_squash_merge": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "allow_auto_merge": false, + "delete_branch_on_merge": false, + "allow_update_branch": false, + "use_squash_pr_title_as_default": false, + "squash_merge_commit_message": "COMMIT_MESSAGES", + "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", + "merge_commit_message": "PR_TITLE", + "merge_commit_title": "MERGE_MESSAGE", + "custom_properties": { + + }, + "organization": { + "login": "ubiquity", + "id": 76412717, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc2NDEyNzE3", + "avatar_url": "https://avatars.githubusercontent.com/u/76412717?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "network_count": 0, + "subscribers_count": 1 +} diff --git a/cypress/fixtures/get-user.json b/cypress/fixtures/get-user.json new file mode 100644 index 000000000..4a33ca070 --- /dev/null +++ b/cypress/fixtures/get-user.json @@ -0,0 +1,34 @@ +{ + "login": "ubiquity", + "id": 76412717, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc2NDEyNzE3", + "avatar_url": "https://avatars.githubusercontent.com/u/76412717?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false, + "name": "Ubiquity DAO", + "company": null, + "blog": "https://ubiquitydao.xyz", + "location": null, + "email": "github.home@ubiquitydao.xyz", + "hireable": null, + "bio": "The Metaverse Bank.", + "twitter_username": "UbiquityDAO", + "public_repos": 56, + "public_gists": 0, + "followers": 78, + "following": 0, + "created_at": "2020-12-21T00:21:13Z", + "updated_at": "2024-02-15T01:23:04Z" +} diff --git a/cypress/fixtures/metamask-chrome.zip b/cypress/fixtures/metamask-chrome.zip new file mode 100644 index 000000000..11133c7b8 Binary files /dev/null and b/cypress/fixtures/metamask-chrome.zip differ diff --git a/cypress/fixtures/put-config.json b/cypress/fixtures/put-config.json new file mode 100644 index 000000000..69afcbe5b --- /dev/null +++ b/cypress/fixtures/put-config.json @@ -0,0 +1,84 @@ +{ + "total_count": 1, + "installations": [ + { + "id": 47252474, + "account": { + "login": "ubiquity", + "id": 159901852, + "node_id": "O_kgDOCYfonA", + "avatar_url": "https://avatars.githubusercontent.com/u/159901852?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ubiquity", + "html_url": "https://github.com/ubiquity", + "followers_url": "https://api.github.com/users/ubiquity/followers", + "following_url": "https://api.github.com/users/ubiquity/following{/other_user}", + "gists_url": "https://api.github.com/users/ubiquity/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ubiquity/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ubiquity/subscriptions", + "organizations_url": "https://api.github.com/users/ubiquity/orgs", + "repos_url": "https://api.github.com/users/ubiquity/repos", + "events_url": "https://api.github.com/users/ubiquity/events{/privacy}", + "received_events_url": "https://api.github.com/users/ubiquity/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "selected", + "access_tokens_url": "https://api.github.com/app/installations/47252474/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/ubiquity/settings/installations/47252474", + "app_id": 236521, + "app_slug": "ubiquibot", + "target_id": 159901852, + "target_type": "Organization", + "permissions": { + "issues": "write", + "actions": "write", + "members": "read", + "contents": "write", + "metadata": "read", + "pull_requests": "write" + }, + "events": [ + "commit_comment", + "create", + "delete", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "member", + "membership", + "merge_queue_entry", + "milestone", + "organization", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "pull_request_review_thread", + "push", + "release", + "repository", + "repository_dispatch", + "star", + "team", + "team_add", + "watch", + "workflow_dispatch", + "workflow_job", + "workflow_run" + ], + "created_at": "2024-02-13T19:37:30.000+09:00", + "updated_at": "2024-03-11T20:40:33.000+09:00", + "single_file_name": null, + "has_multiple_single_files": false, + "single_file_paths": [ + + ], + "suspended_by": null, + "suspended_at": null + } + ] +} diff --git a/cypress/fixtures/put-file.json b/cypress/fixtures/put-file.json new file mode 100644 index 000000000..ef2ffbb68 --- /dev/null +++ b/cypress/fixtures/put-file.json @@ -0,0 +1,52 @@ +{ + "content": { + "name": "ubiquibot-config.yml", + "path": ".github/ubiquibot-config.yml", + "sha": "1778de0cb51522aa6a9c16e2c38ba2dfe3bc1a73", + "size": 3598, + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contents/.github/ubiquibot-config.yml?ref=main", + "html_url": "https://github.com/Ubiquity/ubiquibot-config/blob/main/.github/ubiquibot-config.yml", + "git_url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/blobs/1778de0cb51522aa6a9c16e2c38ba2dfe3bc1a73", + "download_url": "https://raw.githubusercontent.com/Ubiquity/ubiquibot-config/main/.github/ubiquibot-config.yml?token=ACK2JIBIHVQCOZNR77YFVNLF47AFK", + "type": "file", + "_links": { + "self": "https://api.github.com/repos/Ubiquity/ubiquibot-config/contents/.github/ubiquibot-config.yml?ref=main", + "git": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/blobs/1778de0cb51522aa6a9c16e2c38ba2dfe3bc1a73", + "html": "https://github.com/Ubiquity/ubiquibot-config/blob/main/.github/ubiquibot-config.yml" + } + }, + "commit": { + "sha": "63937105dea81cda4f7eb8ef4c16b9f12d63a8ff", + "node_id": "C_kwDOLcQmP9oAKDYzOTM3MTA1ZGVhODFjZGE0ZjdlYjhlZjRjMTZiOWYxMmQ2M2E4ZmY", + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/commits/63937105dea81cda4f7eb8ef4c16b9f12d63a8ff", + "html_url": "https://github.com/Ubiquity/ubiquibot-config/commit/63937105dea81cda4f7eb8ef4c16b9f12d63a8ff", + "author": { + "name": "Ubiquity", + "email": "ubiquity@users.noreply.github.com", + "date": "2024-03-06T01:00:09Z" + }, + "committer": { + "name": "Ubiquity", + "email": "ubiquity@users.noreply.github.com", + "date": "2024-03-06T01:00:09Z" + }, + "tree": { + "sha": "70bf542678602ebe2fb59c8d255665c0b443fe59", + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/trees/70bf542678602ebe2fb59c8d255665c0b443fe59" + }, + "message": "31c1b6ab-f534-43aa-9c02-c04955dadb4d", + "parents": [ + { + "sha": "9313261f872b9af3b904fde7b63af158533e4998", + "url": "https://api.github.com/repos/Ubiquity/ubiquibot-config/git/commits/9313261f872b9af3b904fde7b63af158533e4998", + "html_url": "https://github.com/Ubiquity/ubiquibot-config/commit/9313261f872b9af3b904fde7b63af158533e4998" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } +} diff --git a/cypress/fixtures/user-token.json b/cypress/fixtures/user-token.json new file mode 100644 index 000000000..f55ae07cb --- /dev/null +++ b/cypress/fixtures/user-token.json @@ -0,0 +1,60 @@ +{ + "provider_token": "123", + "access_token": "123", + "refresh_token": "123", + "token_type": "bearer", + "user": { + "id": "1", + "aud": "authenticated", + "role": "authenticated", + "email": "octocat@github.com", + "email_confirmed_at": "2024-02-12T05:14:35.030647Z", + "phone": "", + "confirmed_at": "2024-02-12T05:14:35.030647Z", + "last_sign_in_at": "2024-02-26T05:05:04.909151Z", + "app_metadata": { + "provider": "github", + "providers": ["github"] + }, + "user_metadata": { + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "email": "octocat@github.com", + "email_verified": true, + "full_name": "Octocat", + "iss": "https://api.github.com", + "name": "Octocat", + "phone_verified": false, + "preferred_username": "Octocat", + "provider_id": "1", + "sub": "1", + "user_name": "Octocat" + }, + "identities": [ + { + "identity_id": "1", + "id": "1", + "user_id": "1", + "identity_data": { + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "email": "octocat@github.com", + "email_verified": true, + "full_name": "Octocat", + "iss": "https://api.github.com", + "name": "Octocat", + "phone_verified": false, + "preferred_username": "Octocat", + "provider_id": "1", + "sub": "1", + "user_name": "Octocat" + }, + "provider": "github", + "last_sign_in_at": "2024-02-12T05:14:35.023638Z", + "created_at": "2024-02-12T05:14:35.023688Z", + "updated_at": "2024-02-26T05:05:04.904114Z", + "email": "octocat@github.com" + } + ], + "created_at": "2024-02-12T05:14:35.020841Z", + "updated_at": "2024-02-26T05:05:04.917327Z" + } +} diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts new file mode 100644 index 000000000..95857aea4 --- /dev/null +++ b/cypress/support/commands.ts @@ -0,0 +1,37 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts new file mode 100644 index 000000000..6a173d6fc --- /dev/null +++ b/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.ts is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import "./commands"; + +// Alternatively you can use CommonJS syntax: +// require('./commands')