{"action":"closed","number":67,"pull_request":{"url":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67","id":51460435,"html_url":"https://github.com/ChasingLogic/cardinal/pull/67","diff_url":"https://github.com/ChasingLogic/cardinal/pull/67.diff","patch_url":"https://github.com/ChasingLogic/cardinal/pull/67.patch","issue_url":"https://api.github.com/repos/ChasingLogic/cardinal/issues/67","number":67,"state":"closed","locked":false,"title":"Collection utils testing","user":{"login":"growlove","id":1954752,"avatar_url":"https://avatars.githubusercontent.com/u/1954752?v=3","gravatar_id":"","url":"https://api.github.com/users/growlove","html_url":"https://github.com/growlove","followers_url":"https://api.github.com/users/growlove/followers","following_url":"https://api.github.com/users/growlove/following{/other_user}","gists_url":"https://api.github.com/users/growlove/gists{/gist_id}","starred_url":"https://api.github.com/users/growlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/growlove/subscriptions","organizations_url":"https://api.github.com/users/growlove/orgs","repos_url":"https://api.github.com/users/growlove/repos","events_url":"https://api.github.com/users/growlove/events{/privacy}","received_events_url":"https://api.github.com/users/growlove/received_events","type":"User","site_admin":false},"body":"### Overview\r\n\r\nThis set of commits contains a basic set of unit tests for `database/utils/collection-utils.js`. It's not entirely comprehensive, but it gets the basic functionality of the utils under test.\r\n\r\n### Things Still to Be Done\r\n\r\n#### More Functionality\r\n\r\nWhile I was working on these tests, I came to realize that there are quite a few more things that mongo can do that collection-utils can't. Primarily this comes in the realm of updating objects. From upserting to unsetting fields to stack functions on arrays in collections, there's still quite a bit of work to be done. \r\n\r\nI'll be trying to document all the extra functionality mongo provides that might be useful to cardinal in the next few days, and I'll make a new issue about it when I do.\r\n\r\n#### Documenting Return Values\r\n\r\nmongojs and thus promised-mongo return some really off-the-wall results from operations. Most of the time, they have nothing to do with the official return values found in the mongo documentation, and frequently they aren't even consistent across operations. \r\n\r\nI'll be making a list of these so that we aren't caught off-guard in the future and can make sure that all the weirdness is clearly covered in the tests. And also maybe fork promised-mongo and make the return values not totally fucking useless, but probably not because lazy.","created_at":"2015-11-22T08:33:01Z","updated_at":"2015-11-22T08:37:39Z","closed_at":"2015-11-22T08:37:39Z","merged_at":null,"merge_commit_sha":"6419f87a420ed481e07d2d69e28006c515232968","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67/commits","review_comments_url":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67/comments","review_comment_url":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ChasingLogic/cardinal/issues/67/comments","statuses_url":"https://api.github.com/repos/ChasingLogic/cardinal/statuses/f6e23597ce506a2cc44e227492adad2fa4c240d2","head":{"label":"growlove:collection-utils-testing","ref":"collection-utils-testing","sha":"f6e23597ce506a2cc44e227492adad2fa4c240d2","user":{"login":"growlove","id":1954752,"avatar_url":"https://avatars.githubusercontent.com/u/1954752?v=3","gravatar_id":"","url":"https://api.github.com/users/growlove","html_url":"https://github.com/growlove","followers_url":"https://api.github.com/users/growlove/followers","following_url":"https://api.github.com/users/growlove/following{/other_user}","gists_url":"https://api.github.com/users/growlove/gists{/gist_id}","starred_url":"https://api.github.com/users/growlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/growlove/subscriptions","organizations_url":"https://api.github.com/users/growlove/orgs","repos_url":"https://api.github.com/users/growlove/repos","events_url":"https://api.github.com/users/growlove/events{/privacy}","received_events_url":"https://api.github.com/users/growlove/received_events","type":"User","site_admin":false},"repo":{"id":46202675,"name":"cardinal","full_name":"growlove/cardinal","owner":{"login":"growlove","id":1954752,"avatar_url":"https://avatars.githubusercontent.com/u/1954752?v=3","gravatar_id":"","url":"https://api.github.com/users/growlove","html_url":"https://github.com/growlove","followers_url":"https://api.github.com/users/growlove/followers","following_url":"https://api.github.com/users/growlove/following{/other_user}","gists_url":"https://api.github.com/users/growlove/gists{/gist_id}","starred_url":"https://api.github.com/users/growlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/growlove/subscriptions","organizations_url":"https://api.github.com/users/growlove/orgs","repos_url":"https://api.github.com/users/growlove/repos","events_url":"https://api.github.com/users/growlove/events{/privacy}","received_events_url":"https://api.github.com/users/growlove/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/growlove/cardinal","description":"A web app for managing card collections for various digital and paper card games.","fork":true,"url":"https://api.github.com/repos/growlove/cardinal","forks_url":"https://api.github.com/repos/growlove/cardinal/forks","keys_url":"https://api.github.com/repos/growlove/cardinal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/growlove/cardinal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/growlove/cardinal/teams","hooks_url":"https://api.github.com/repos/growlove/cardinal/hooks","issue_events_url":"https://api.github.com/repos/growlove/cardinal/issues/events{/number}","events_url":"https://api.github.com/repos/growlove/cardinal/events","assignees_url":"https://api.github.com/repos/growlove/cardinal/assignees{/user}","branches_url":"https://api.github.com/repos/growlove/cardinal/branches{/branch}","tags_url":"https://api.github.com/repos/growlove/cardinal/tags","blobs_url":"https://api.github.com/repos/growlove/cardinal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/growlove/cardinal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/growlove/cardinal/git/refs{/sha}","trees_url":"https://api.github.com/repos/growlove/cardinal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/growlove/cardinal/statuses/{sha}","languages_url":"https://api.github.com/repos/growlove/cardinal/languages","stargazers_url":"https://api.github.com/repos/growlove/cardinal/stargazers","contributors_url":"https://api.github.com/repos/growlove/cardinal/contributors","subscribers_url":"https://api.github.com/repos/growlove/cardinal/subscribers","subscription_url":"https://api.github.com/repos/growlove/cardinal/subscription","commits_url":"https://api.github.com/repos/growlove/cardinal/commits{/sha}","git_commits_url":"https://api.github.com/repos/growlove/cardinal/git/commits{/sha}","comments_url":"https://api.github.com/repos/growlove/cardinal/comments{/number}","issue_comment_url":"https://api.github.com/repos/growlove/cardinal/issues/comments{/number}","contents_url":"https://api.github.com/repos/growlove/cardinal/contents/{+path}","compare_url":"https://api.github.com/repos/growlove/cardinal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/growlove/cardinal/merges","archive_url":"https://api.github.com/repos/growlove/cardinal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/growlove/cardinal/downloads","issues_url":"https://api.github.com/repos/growlove/cardinal/issues{/number}","pulls_url":"https://api.github.com/repos/growlove/cardinal/pulls{/number}","milestones_url":"https://api.github.com/repos/growlove/cardinal/milestones{/number}","notifications_url":"https://api.github.com/repos/growlove/cardinal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/growlove/cardinal/labels{/name}","releases_url":"https://api.github.com/repos/growlove/cardinal/releases{/id}","created_at":"2015-11-15T03:28:26Z","updated_at":"2015-11-15T03:28:28Z","pushed_at":"2015-11-22T08:37:39Z","git_url":"git://github.com/growlove/cardinal.git","ssh_url":"git@github.com:growlove/cardinal.git","clone_url":"https://github.com/growlove/cardinal.git","svn_url":"https://github.com/growlove/cardinal","homepage":null,"size":23130,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ChasingLogic:master","ref":"master","sha":"f57249dc9d6fd3e08e565c8c97a7802babfb1f69","user":{"login":"ChasingLogic","id":5530639,"avatar_url":"https://avatars.githubusercontent.com/u/5530639?v=3","gravatar_id":"","url":"https://api.github.com/users/ChasingLogic","html_url":"https://github.com/ChasingLogic","followers_url":"https://api.github.com/users/ChasingLogic/followers","following_url":"https://api.github.com/users/ChasingLogic/following{/other_user}","gists_url":"https://api.github.com/users/ChasingLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/ChasingLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChasingLogic/subscriptions","organizations_url":"https://api.github.com/users/ChasingLogic/orgs","repos_url":"https://api.github.com/users/ChasingLogic/repos","events_url":"https://api.github.com/users/ChasingLogic/events{/privacy}","received_events_url":"https://api.github.com/users/ChasingLogic/received_events","type":"User","site_admin":false},"repo":{"id":38147459,"name":"cardinal","full_name":"ChasingLogic/cardinal","owner":{"login":"ChasingLogic","id":5530639,"avatar_url":"https://avatars.githubusercontent.com/u/5530639?v=3","gravatar_id":"","url":"https://api.github.com/users/ChasingLogic","html_url":"https://github.com/ChasingLogic","followers_url":"https://api.github.com/users/ChasingLogic/followers","following_url":"https://api.github.com/users/ChasingLogic/following{/other_user}","gists_url":"https://api.github.com/users/ChasingLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/ChasingLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChasingLogic/subscriptions","organizations_url":"https://api.github.com/users/ChasingLogic/orgs","repos_url":"https://api.github.com/users/ChasingLogic/repos","events_url":"https://api.github.com/users/ChasingLogic/events{/privacy}","received_events_url":"https://api.github.com/users/ChasingLogic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ChasingLogic/cardinal","description":"A web app for managing card collections for various digital and paper card games.","fork":false,"url":"https://api.github.com/repos/ChasingLogic/cardinal","forks_url":"https://api.github.com/repos/ChasingLogic/cardinal/forks","keys_url":"https://api.github.com/repos/ChasingLogic/cardinal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ChasingLogic/cardinal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ChasingLogic/cardinal/teams","hooks_url":"https://api.github.com/repos/ChasingLogic/cardinal/hooks","issue_events_url":"https://api.github.com/repos/ChasingLogic/cardinal/issues/events{/number}","events_url":"https://api.github.com/repos/ChasingLogic/cardinal/events","assignees_url":"https://api.github.com/repos/ChasingLogic/cardinal/assignees{/user}","branches_url":"https://api.github.com/repos/ChasingLogic/cardinal/branches{/branch}","tags_url":"https://api.github.com/repos/ChasingLogic/cardinal/tags","blobs_url":"https://api.github.com/repos/ChasingLogic/cardinal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ChasingLogic/cardinal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ChasingLogic/cardinal/git/refs{/sha}","trees_url":"https://api.github.com/repos/ChasingLogic/cardinal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ChasingLogic/cardinal/statuses/{sha}","languages_url":"https://api.github.com/repos/ChasingLogic/cardinal/languages","stargazers_url":"https://api.github.com/repos/ChasingLogic/cardinal/stargazers","contributors_url":"https://api.github.com/repos/ChasingLogic/cardinal/contributors","subscribers_url":"https://api.github.com/repos/ChasingLogic/cardinal/subscribers","subscription_url":"https://api.github.com/repos/ChasingLogic/cardinal/subscription","commits_url":"https://api.github.com/repos/ChasingLogic/cardinal/commits{/sha}","git_commits_url":"https://api.github.com/repos/ChasingLogic/cardinal/git/commits{/sha}","comments_url":"https://api.github.com/repos/ChasingLogic/cardinal/comments{/number}","issue_comment_url":"https://api.github.com/repos/ChasingLogic/cardinal/issues/comments{/number}","contents_url":"https://api.github.com/repos/ChasingLogic/cardinal/contents/{+path}","compare_url":"https://api.github.com/repos/ChasingLogic/cardinal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ChasingLogic/cardinal/merges","archive_url":"https://api.github.com/repos/ChasingLogic/cardinal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ChasingLogic/cardinal/downloads","issues_url":"https://api.github.com/repos/ChasingLogic/cardinal/issues{/number}","pulls_url":"https://api.github.com/repos/ChasingLogic/cardinal/pulls{/number}","milestones_url":"https://api.github.com/repos/ChasingLogic/cardinal/milestones{/number}","notifications_url":"https://api.github.com/repos/ChasingLogic/cardinal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ChasingLogic/cardinal/labels{/name}","releases_url":"https://api.github.com/repos/ChasingLogic/cardinal/releases{/id}","created_at":"2015-06-27T04:55:59Z","updated_at":"2015-11-13T00:26:37Z","pushed_at":"2015-11-22T08:33:01Z","git_url":"git://github.com/ChasingLogic/cardinal.git","ssh_url":"git@github.com:ChasingLogic/cardinal.git","clone_url":"https://github.com/ChasingLogic/cardinal.git","svn_url":"https://github.com/ChasingLogic/cardinal","homepage":null,"size":23195,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2,"mirror_url":null,"open_issues_count":13,"forks":2,"open_issues":13,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67"},"html":{"href":"https://github.com/ChasingLogic/cardinal/pull/67"},"issue":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/issues/67"},"comments":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/issues/67/comments"},"review_comments":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67/comments"},"review_comment":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/pulls/67/commits"},"statuses":{"href":"https://api.github.com/repos/ChasingLogic/cardinal/statuses/f6e23597ce506a2cc44e227492adad2fa4c240d2"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":0,"review_comments":0,"commits":11,"additions":170,"deletions":8,"changed_files":2}}