{"action":"created","comment":{"url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/comments/245264665","pull_request_review_id":189324507,"id":245264665,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NTI2NDY2NQ==","diff_hunk":"@@ -0,0 +1,268 @@\n+package de.adesso.budgeteer.web.pages.administration;\n+\n+import de.adesso.budgeteer.web.AbstractWebTestTemplate;\n+import org.apache.wicket.markup.html.WebPage;\n+import org.apache.wicket.util.tester.FormTester;\n+import org.apache.wicket.util.tester.WicketTester;\n+import org.junit.jupiter.api.Assertions;\n+import org.junit.jupiter.api.Test;\n+import org.mockito.Mockito;\n+import org.wickedsource.budgeteer.service.project.ProjectBaseData;\n+import org.wickedsource.budgeteer.service.user.User;\n+import org.wickedsource.budgeteer.web.BudgeteerSession;\n+import org.wickedsource.budgeteer.web.components.user.UserRole;\n+import org.wickedsource.budgeteer.web.pages.administration.Project;\n+import org.wickedsource.budgeteer.web.pages.base.delete.DeleteDialog;\n+\n+import java.util.ArrayList;\n+import java.util.Arrays;\n+import java.util.Collections;\n+import java.util.Date;\n+\n+import static org.mockito.ArgumentMatchers.anyLong;\n+import static org.mockito.Mockito.times;\n+import static org.mockito.Mockito.when;\n+\n+public class BudgeteerAdministrationOverviewTest extends AbstractWebTestTemplate {\n+\n+    @Test\n+    void test() {\n+        WicketTester tester = getTester();\n+        tester.startPage(BudgeteerAdministrationOverview.class);\n+        tester.assertRenderedPage(BudgeteerAdministrationOverview.class);\n+    }\n+\n+    @Test\n+    void testSetPasswordField() {\n+        //set up\n+        User user1 = new User();\n+        user1.setName(\"Maxim\");\n+        user1.setId(1L);\n+        user1.setMail(\"maxim@adesso.de\");\n+        user1.setGlobalRole(UserRole.USER);\n+\n+        User user2 = new User();\n+        user2.setName(\"Kilian\");\n+        user2.setId(2L);\n+        user2.setMail(\"kilian@adesso.de\");\n+        user2.setGlobalRole(UserRole.USER);\n+\n+        when(userServiceMock.getAllUsers()).thenReturn(Arrays.asList(user1, user2));\n+        when(userServiceMock.getAllAdmins()).thenReturn(new ArrayList<>());\n+\n+        WicketTester tester = getTester();\n+        WebPage page = new BudgeteerAdministrationOverview();\n+        tester.startPage(page);;\n+\n+        //Test\n+        FormTester formTester = tester.newFormTester(\"userList:0:passwordResetField\");\n+        formTester.setValue(\"setPasswordTextBox\", \"password1\");\n+        formTester.submit();\n+\n+        formTester = tester.newFormTester(\"userList:1:passwordResetField\");\n+        formTester.setValue(\"setPasswordTextBox\", \"password2\");\n+        formTester.submit();\n+\n+        Mockito.verify(userServiceMock, times(1)).setUserPassword(1L, \"password1\");\n+        Mockito.verify(userServiceMock, times(1)).setUserPassword(2L, \"password2\");\n+    }\n+\n+    @Test\n+    void testSetEmailField() throws Exception {","path":"budgeteer-admin-interface/src/test/java/de/adesso/budgeteer/web/pages/administration/BudgeteerAdministrationOverviewTest.java","position":60,"original_position":71,"commit_id":"faef31bcd21779daeec260517c6dfb9ef01fd6aa","original_commit_id":"0b77aebcf265199103582388dc3f8da8be3ae90e","user":{"login":"maximAtanasov","id":32562426,"node_id":"MDQ6VXNlcjMyNTYyNDI2","avatar_url":"https://avatars2.githubusercontent.com/u/32562426?v=4","gravatar_id":"","url":"https://api.github.com/users/maximAtanasov","html_url":"https://github.com/maximAtanasov","followers_url":"https://api.github.com/users/maximAtanasov/followers","following_url":"https://api.github.com/users/maximAtanasov/following{/other_user}","gists_url":"https://api.github.com/users/maximAtanasov/gists{/gist_id}","starred_url":"https://api.github.com/users/maximAtanasov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maximAtanasov/subscriptions","organizations_url":"https://api.github.com/users/maximAtanasov/orgs","repos_url":"https://api.github.com/users/maximAtanasov/repos","events_url":"https://api.github.com/users/maximAtanasov/events{/privacy}","received_events_url":"https://api.github.com/users/maximAtanasov/received_events","type":"User","site_admin":false},"body":"I've changed this","created_at":"2019-01-04T10:42:47Z","updated_at":"2019-01-04T10:42:47Z","html_url":"https://github.com/adessoAG/budgeteer/pull/298#discussion_r245264665","pull_request_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/comments/245264665"},"html":{"href":"https://github.com/adessoAG/budgeteer/pull/298#discussion_r245264665"},"pull_request":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298"}},"in_reply_to_id":243577905},"pull_request":{"url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298","id":216269733,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2MjY5NzMz","html_url":"https://github.com/adessoAG/budgeteer/pull/298","diff_url":"https://github.com/adessoAG/budgeteer/pull/298.diff","patch_url":"https://github.com/adessoAG/budgeteer/pull/298.patch","issue_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/298","number":298,"state":"open","locked":false,"title":"[FIX-141/161] Budgeteer administration menu.","user":{"login":"maximAtanasov","id":32562426,"node_id":"MDQ6VXNlcjMyNTYyNDI2","avatar_url":"https://avatars2.githubusercontent.com/u/32562426?v=4","gravatar_id":"","url":"https://api.github.com/users/maximAtanasov","html_url":"https://github.com/maximAtanasov","followers_url":"https://api.github.com/users/maximAtanasov/followers","following_url":"https://api.github.com/users/maximAtanasov/following{/other_user}","gists_url":"https://api.github.com/users/maximAtanasov/gists{/gist_id}","starred_url":"https://api.github.com/users/maximAtanasov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maximAtanasov/subscriptions","organizations_url":"https://api.github.com/users/maximAtanasov/orgs","repos_url":"https://api.github.com/users/maximAtanasov/repos","events_url":"https://api.github.com/users/maximAtanasov/events{/privacy}","received_events_url":"https://api.github.com/users/maximAtanasov/received_events","type":"User","site_admin":false},"body":"This PR should be ready for review now.\r\n\r\nThe administration menu is started as a separate web app (this one is set to run on port 8090) and\r\ncan be started from the root folder by running `./gradlew budgeteer-admin-interface:bootRun`.\r\nThe first user to log in to it is made global admin.\r\nThe global admin currently has the following abilities:\r\n - Set the password/email of any user in the Budgeteer\r\n - Delete any user in the budgeteer\r\n - Make any other user admin as well\r\n - Delete any project\r\n - Change the permissions of users in a project\r\n - Remove/Add users from/to a project\r\n - Edit the project name and start/end dates.\r\n\r\nThis adresses issue #141 and issue #161","created_at":"2018-09-18T11:12:14Z","updated_at":"2019-01-04T10:42:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ceb49aceb9681be55d687c8699aa1aec604ac648","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298/commits","review_comments_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298/comments","review_comment_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/298/comments","statuses_url":"https://api.github.com/repos/adessoAG/budgeteer/statuses/faef31bcd21779daeec260517c6dfb9ef01fd6aa","head":{"label":"adessoAG:fix-141","ref":"fix-141","sha":"faef31bcd21779daeec260517c6dfb9ef01fd6aa","user":{"login":"adessoAG","id":1710422,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTA0MjI=","avatar_url":"https://avatars1.githubusercontent.com/u/1710422?v=4","gravatar_id":"","url":"https://api.github.com/users/adessoAG","html_url":"https://github.com/adessoAG","followers_url":"https://api.github.com/users/adessoAG/followers","following_url":"https://api.github.com/users/adessoAG/following{/other_user}","gists_url":"https://api.github.com/users/adessoAG/gists{/gist_id}","starred_url":"https://api.github.com/users/adessoAG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adessoAG/subscriptions","organizations_url":"https://api.github.com/users/adessoAG/orgs","repos_url":"https://api.github.com/users/adessoAG/repos","events_url":"https://api.github.com/users/adessoAG/events{/privacy}","received_events_url":"https://api.github.com/users/adessoAG/received_events","type":"Organization","site_admin":false},"repo":{"id":24379703,"node_id":"MDEwOlJlcG9zaXRvcnkyNDM3OTcwMw==","name":"budgeteer","full_name":"adessoAG/budgeteer","private":false,"owner":{"login":"adessoAG","id":1710422,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTA0MjI=","avatar_url":"https://avatars1.githubusercontent.com/u/1710422?v=4","gravatar_id":"","url":"https://api.github.com/users/adessoAG","html_url":"https://github.com/adessoAG","followers_url":"https://api.github.com/users/adessoAG/followers","following_url":"https://api.github.com/users/adessoAG/following{/other_user}","gists_url":"https://api.github.com/users/adessoAG/gists{/gist_id}","starred_url":"https://api.github.com/users/adessoAG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adessoAG/subscriptions","organizations_url":"https://api.github.com/users/adessoAG/orgs","repos_url":"https://api.github.com/users/adessoAG/repos","events_url":"https://api.github.com/users/adessoAG/events{/privacy}","received_events_url":"https://api.github.com/users/adessoAG/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/adessoAG/budgeteer","description":"Simple Project Budget Monitoring via Web Browser","fork":false,"url":"https://api.github.com/repos/adessoAG/budgeteer","forks_url":"https://api.github.com/repos/adessoAG/budgeteer/forks","keys_url":"https://api.github.com/repos/adessoAG/budgeteer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adessoAG/budgeteer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adessoAG/budgeteer/teams","hooks_url":"https://api.github.com/repos/adessoAG/budgeteer/hooks","issue_events_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/events{/number}","events_url":"https://api.github.com/repos/adessoAG/budgeteer/events","assignees_url":"https://api.github.com/repos/adessoAG/budgeteer/assignees{/user}","branches_url":"https://api.github.com/repos/adessoAG/budgeteer/branches{/branch}","tags_url":"https://api.github.com/repos/adessoAG/budgeteer/tags","blobs_url":"https://api.github.com/repos/adessoAG/budgeteer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adessoAG/budgeteer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adessoAG/budgeteer/git/refs{/sha}","trees_url":"https://api.github.com/repos/adessoAG/budgeteer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adessoAG/budgeteer/statuses/{sha}","languages_url":"https://api.github.com/repos/adessoAG/budgeteer/languages","stargazers_url":"https://api.github.com/repos/adessoAG/budgeteer/stargazers","contributors_url":"https://api.github.com/repos/adessoAG/budgeteer/contributors","subscribers_url":"https://api.github.com/repos/adessoAG/budgeteer/subscribers","subscription_url":"https://api.github.com/repos/adessoAG/budgeteer/subscription","commits_url":"https://api.github.com/repos/adessoAG/budgeteer/commits{/sha}","git_commits_url":"https://api.github.com/repos/adessoAG/budgeteer/git/commits{/sha}","comments_url":"https://api.github.com/repos/adessoAG/budgeteer/comments{/number}","issue_comment_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/comments{/number}","contents_url":"https://api.github.com/repos/adessoAG/budgeteer/contents/{+path}","compare_url":"https://api.github.com/repos/adessoAG/budgeteer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adessoAG/budgeteer/merges","archive_url":"https://api.github.com/repos/adessoAG/budgeteer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adessoAG/budgeteer/downloads","issues_url":"https://api.github.com/repos/adessoAG/budgeteer/issues{/number}","pulls_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls{/number}","milestones_url":"https://api.github.com/repos/adessoAG/budgeteer/milestones{/number}","notifications_url":"https://api.github.com/repos/adessoAG/budgeteer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adessoAG/budgeteer/labels{/name}","releases_url":"https://api.github.com/repos/adessoAG/budgeteer/releases{/id}","deployments_url":"https://api.github.com/repos/adessoAG/budgeteer/deployments","created_at":"2014-09-23T16:30:14Z","updated_at":"2018-12-24T00:16:02Z","pushed_at":"2019-01-04T10:36:26Z","git_url":"git://github.com/adessoAG/budgeteer.git","ssh_url":"git@github.com:adessoAG/budgeteer.git","clone_url":"https://github.com/adessoAG/budgeteer.git","svn_url":"https://github.com/adessoAG/budgeteer","homepage":null,"size":15901,"stargazers_count":24,"watchers_count":24,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":46,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":16,"open_issues":46,"watchers":24,"default_branch":"master"}},"base":{"label":"adessoAG:master","ref":"master","sha":"2dd803d713c0518fd8d4dbfc9f8598fd21cde696","user":{"login":"adessoAG","id":1710422,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTA0MjI=","avatar_url":"https://avatars1.githubusercontent.com/u/1710422?v=4","gravatar_id":"","url":"https://api.github.com/users/adessoAG","html_url":"https://github.com/adessoAG","followers_url":"https://api.github.com/users/adessoAG/followers","following_url":"https://api.github.com/users/adessoAG/following{/other_user}","gists_url":"https://api.github.com/users/adessoAG/gists{/gist_id}","starred_url":"https://api.github.com/users/adessoAG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adessoAG/subscriptions","organizations_url":"https://api.github.com/users/adessoAG/orgs","repos_url":"https://api.github.com/users/adessoAG/repos","events_url":"https://api.github.com/users/adessoAG/events{/privacy}","received_events_url":"https://api.github.com/users/adessoAG/received_events","type":"Organization","site_admin":false},"repo":{"id":24379703,"node_id":"MDEwOlJlcG9zaXRvcnkyNDM3OTcwMw==","name":"budgeteer","full_name":"adessoAG/budgeteer","private":false,"owner":{"login":"adessoAG","id":1710422,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTA0MjI=","avatar_url":"https://avatars1.githubusercontent.com/u/1710422?v=4","gravatar_id":"","url":"https://api.github.com/users/adessoAG","html_url":"https://github.com/adessoAG","followers_url":"https://api.github.com/users/adessoAG/followers","following_url":"https://api.github.com/users/adessoAG/following{/other_user}","gists_url":"https://api.github.com/users/adessoAG/gists{/gist_id}","starred_url":"https://api.github.com/users/adessoAG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adessoAG/subscriptions","organizations_url":"https://api.github.com/users/adessoAG/orgs","repos_url":"https://api.github.com/users/adessoAG/repos","events_url":"https://api.github.com/users/adessoAG/events{/privacy}","received_events_url":"https://api.github.com/users/adessoAG/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/adessoAG/budgeteer","description":"Simple Project Budget Monitoring via Web Browser","fork":false,"url":"https://api.github.com/repos/adessoAG/budgeteer","forks_url":"https://api.github.com/repos/adessoAG/budgeteer/forks","keys_url":"https://api.github.com/repos/adessoAG/budgeteer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adessoAG/budgeteer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adessoAG/budgeteer/teams","hooks_url":"https://api.github.com/repos/adessoAG/budgeteer/hooks","issue_events_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/events{/number}","events_url":"https://api.github.com/repos/adessoAG/budgeteer/events","assignees_url":"https://api.github.com/repos/adessoAG/budgeteer/assignees{/user}","branches_url":"https://api.github.com/repos/adessoAG/budgeteer/branches{/branch}","tags_url":"https://api.github.com/repos/adessoAG/budgeteer/tags","blobs_url":"https://api.github.com/repos/adessoAG/budgeteer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adessoAG/budgeteer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adessoAG/budgeteer/git/refs{/sha}","trees_url":"https://api.github.com/repos/adessoAG/budgeteer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adessoAG/budgeteer/statuses/{sha}","languages_url":"https://api.github.com/repos/adessoAG/budgeteer/languages","stargazers_url":"https://api.github.com/repos/adessoAG/budgeteer/stargazers","contributors_url":"https://api.github.com/repos/adessoAG/budgeteer/contributors","subscribers_url":"https://api.github.com/repos/adessoAG/budgeteer/subscribers","subscription_url":"https://api.github.com/repos/adessoAG/budgeteer/subscription","commits_url":"https://api.github.com/repos/adessoAG/budgeteer/commits{/sha}","git_commits_url":"https://api.github.com/repos/adessoAG/budgeteer/git/commits{/sha}","comments_url":"https://api.github.com/repos/adessoAG/budgeteer/comments{/number}","issue_comment_url":"https://api.github.com/repos/adessoAG/budgeteer/issues/comments{/number}","contents_url":"https://api.github.com/repos/adessoAG/budgeteer/contents/{+path}","compare_url":"https://api.github.com/repos/adessoAG/budgeteer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adessoAG/budgeteer/merges","archive_url":"https://api.github.com/repos/adessoAG/budgeteer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adessoAG/budgeteer/downloads","issues_url":"https://api.github.com/repos/adessoAG/budgeteer/issues{/number}","pulls_url":"https://api.github.com/repos/adessoAG/budgeteer/pulls{/number}","milestones_url":"https://api.github.com/repos/adessoAG/budgeteer/milestones{/number}","notifications_url":"https://api.github.com/repos/adessoAG/budgeteer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adessoAG/budgeteer/labels{/name}","releases_url":"https://api.github.com/repos/adessoAG/budgeteer/releases{/id}","deployments_url":"https://api.github.com/repos/adessoAG/budgeteer/deployments","created_at":"2014-09-23T16:30:14Z","updated_at":"2018-12-24T00:16:02Z","pushed_at":"2019-01-04T10:36:26Z","git_url":"git://github.com/adessoAG/budgeteer.git","ssh_url":"git@github.com:adessoAG/budgeteer.git","clone_url":"https://github.com/adessoAG/budgeteer.git","svn_url":"https://github.com/adessoAG/budgeteer","homepage":null,"size":15901,"stargazers_count":24,"watchers_count":24,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":46,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":16,"open_issues":46,"watchers":24,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298"},"html":{"href":"https://github.com/adessoAG/budgeteer/pull/298"},"issue":{"href":"https://api.github.com/repos/adessoAG/budgeteer/issues/298"},"comments":{"href":"https://api.github.com/repos/adessoAG/budgeteer/issues/298/comments"},"review_comments":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298/comments"},"review_comment":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adessoAG/budgeteer/pulls/298/commits"},"statuses":{"href":"https://api.github.com/repos/adessoAG/budgeteer/statuses/faef31bcd21779daeec260517c6dfb9ef01fd6aa"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"maximAtanasov"}}