{"action":"created","comment":{"url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/comments/74793151","id":74793151,"diff_hunk":"@@ -0,0 +1,75 @@\n+import React from 'react';\n+import {mount, shallow} from 'enzyme';\n+import {expect} from 'chai';\n+import sinon from 'sinon';\n+\n+import RaisedButton from 'material-ui/RaisedButton';\n+import HintCard from '../src/message_popup/hint_card.jsx';","path":"ui/test/message_popup/hint_card_test.jsx","position":7,"original_position":7,"commit_id":"bc13df818548df20e851b28bec79e6f9fc79438e","original_commit_id":"bc13df818548df20e851b28bec79e6f9fc79438e","user":{"login":"david-rosales","id":1490352,"avatar_url":"https://avatars.githubusercontent.com/u/1490352?v=3","gravatar_id":"","url":"https://api.github.com/users/david-rosales","html_url":"https://github.com/david-rosales","followers_url":"https://api.github.com/users/david-rosales/followers","following_url":"https://api.github.com/users/david-rosales/following{/other_user}","gists_url":"https://api.github.com/users/david-rosales/gists{/gist_id}","starred_url":"https://api.github.com/users/david-rosales/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-rosales/subscriptions","organizations_url":"https://api.github.com/users/david-rosales/orgs","repos_url":"https://api.github.com/users/david-rosales/repos","events_url":"https://api.github.com/users/david-rosales/events{/privacy}","received_events_url":"https://api.github.com/users/david-rosales/received_events","type":"User","site_admin":false},"body":"I think this import might fail because it would search for `src/message_popup/hint_card.jsx` inside of `ui/test`.\r\n\r\n Would this work instead?\r\n```\r\n../../src/message_popup/hint_card.jsx\r\n```","created_at":"2016-08-15T16:53:56Z","updated_at":"2016-08-15T16:53:56Z","html_url":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120#discussion_r74793151","pull_request_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120","_links":{"self":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/comments/74793151"},"html":{"href":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120#discussion_r74793151"},"pull_request":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120"}}},"pull_request":{"url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120","id":81337963,"html_url":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120","diff_url":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120.diff","patch_url":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120.patch","issue_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/120","number":120,"state":"open","locked":false,"title":"Add Mocha and Enzyme test setup, add initial tests for HintCard","user":{"login":"kevinrobinson","id":1056957,"avatar_url":"https://avatars.githubusercontent.com/u/1056957?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinrobinson","html_url":"https://github.com/kevinrobinson","followers_url":"https://api.github.com/users/kevinrobinson/followers","following_url":"https://api.github.com/users/kevinrobinson/following{/other_user}","gists_url":"https://api.github.com/users/kevinrobinson/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinrobinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinrobinson/subscriptions","organizations_url":"https://api.github.com/users/kevinrobinson/orgs","repos_url":"https://api.github.com/users/kevinrobinson/repos","events_url":"https://api.github.com/users/kevinrobinson/events{/privacy}","received_events_url":"https://api.github.com/users/kevinrobinson/received_events","type":"User","site_admin":false},"body":"This adds Mocha for JavaScript tests, using Chai for assertions and Enzyme for some React-related utilities.  I'm not sure that there's a whole lot of value in Enzyme at the moment, but we can give it a try in the first few tests and see.  There's a separate branch experimenting with Jest but that ran into more snags during the initial setup so I think this is better for getting started right now.  It'd be good to take another look at this after we start with a few tests and it'd be a good experiment to look at adopting Create React App which now includes Jest too.  But that's a project for another day.\r\n\r\nThis isn't fully complete, and some important features that I didn't play with yet are:\r\n- integration-style tests that render more of the component tree\r\n- mocking server calls\r\n- testing rendering inside VelocityTransitionGroup\r\n- debugging in web inspector\r\n- warning only if prop is missing or the wrong type\r\n","created_at":"2016-08-15T16:36:16Z","updated_at":"2016-08-15T16:53:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"28ea521f960e0b9de76bf74f559961091ad336c1","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120/commits","review_comments_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120/comments","review_comment_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/120/comments","statuses_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/statuses/bc13df818548df20e851b28bec79e6f9fc79438e","head":{"label":"kevinrobinson:feature/mocha","ref":"feature/mocha","sha":"bc13df818548df20e851b28bec79e6f9fc79438e","user":{"login":"kevinrobinson","id":1056957,"avatar_url":"https://avatars.githubusercontent.com/u/1056957?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinrobinson","html_url":"https://github.com/kevinrobinson","followers_url":"https://api.github.com/users/kevinrobinson/followers","following_url":"https://api.github.com/users/kevinrobinson/following{/other_user}","gists_url":"https://api.github.com/users/kevinrobinson/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinrobinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinrobinson/subscriptions","organizations_url":"https://api.github.com/users/kevinrobinson/orgs","repos_url":"https://api.github.com/users/kevinrobinson/repos","events_url":"https://api.github.com/users/kevinrobinson/events{/privacy}","received_events_url":"https://api.github.com/users/kevinrobinson/received_events","type":"User","site_admin":false},"repo":{"id":61245589,"name":"threeflows","full_name":"kevinrobinson/threeflows","owner":{"login":"kevinrobinson","id":1056957,"avatar_url":"https://avatars.githubusercontent.com/u/1056957?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinrobinson","html_url":"https://github.com/kevinrobinson","followers_url":"https://api.github.com/users/kevinrobinson/followers","following_url":"https://api.github.com/users/kevinrobinson/following{/other_user}","gists_url":"https://api.github.com/users/kevinrobinson/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinrobinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinrobinson/subscriptions","organizations_url":"https://api.github.com/users/kevinrobinson/orgs","repos_url":"https://api.github.com/users/kevinrobinson/repos","events_url":"https://api.github.com/users/kevinrobinson/events{/privacy}","received_events_url":"https://api.github.com/users/kevinrobinson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kevinrobinson/threeflows","description":"Design sketch of flows","fork":true,"url":"https://api.github.com/repos/kevinrobinson/threeflows","forks_url":"https://api.github.com/repos/kevinrobinson/threeflows/forks","keys_url":"https://api.github.com/repos/kevinrobinson/threeflows/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kevinrobinson/threeflows/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kevinrobinson/threeflows/teams","hooks_url":"https://api.github.com/repos/kevinrobinson/threeflows/hooks","issue_events_url":"https://api.github.com/repos/kevinrobinson/threeflows/issues/events{/number}","events_url":"https://api.github.com/repos/kevinrobinson/threeflows/events","assignees_url":"https://api.github.com/repos/kevinrobinson/threeflows/assignees{/user}","branches_url":"https://api.github.com/repos/kevinrobinson/threeflows/branches{/branch}","tags_url":"https://api.github.com/repos/kevinrobinson/threeflows/tags","blobs_url":"https://api.github.com/repos/kevinrobinson/threeflows/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kevinrobinson/threeflows/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kevinrobinson/threeflows/git/refs{/sha}","trees_url":"https://api.github.com/repos/kevinrobinson/threeflows/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kevinrobinson/threeflows/statuses/{sha}","languages_url":"https://api.github.com/repos/kevinrobinson/threeflows/languages","stargazers_url":"https://api.github.com/repos/kevinrobinson/threeflows/stargazers","contributors_url":"https://api.github.com/repos/kevinrobinson/threeflows/contributors","subscribers_url":"https://api.github.com/repos/kevinrobinson/threeflows/subscribers","subscription_url":"https://api.github.com/repos/kevinrobinson/threeflows/subscription","commits_url":"https://api.github.com/repos/kevinrobinson/threeflows/commits{/sha}","git_commits_url":"https://api.github.com/repos/kevinrobinson/threeflows/git/commits{/sha}","comments_url":"https://api.github.com/repos/kevinrobinson/threeflows/comments{/number}","issue_comment_url":"https://api.github.com/repos/kevinrobinson/threeflows/issues/comments{/number}","contents_url":"https://api.github.com/repos/kevinrobinson/threeflows/contents/{+path}","compare_url":"https://api.github.com/repos/kevinrobinson/threeflows/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kevinrobinson/threeflows/merges","archive_url":"https://api.github.com/repos/kevinrobinson/threeflows/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kevinrobinson/threeflows/downloads","issues_url":"https://api.github.com/repos/kevinrobinson/threeflows/issues{/number}","pulls_url":"https://api.github.com/repos/kevinrobinson/threeflows/pulls{/number}","milestones_url":"https://api.github.com/repos/kevinrobinson/threeflows/milestones{/number}","notifications_url":"https://api.github.com/repos/kevinrobinson/threeflows/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kevinrobinson/threeflows/labels{/name}","releases_url":"https://api.github.com/repos/kevinrobinson/threeflows/releases{/id}","deployments_url":"https://api.github.com/repos/kevinrobinson/threeflows/deployments","created_at":"2016-06-15T22:36:55Z","updated_at":"2016-06-15T22:36:58Z","pushed_at":"2016-08-15T16:33:00Z","git_url":"git://github.com/kevinrobinson/threeflows.git","ssh_url":"git@github.com:kevinrobinson/threeflows.git","clone_url":"https://github.com/kevinrobinson/threeflows.git","svn_url":"https://github.com/kevinrobinson/threeflows","homepage":null,"size":819,"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":"mit-teaching-systems-lab:master","ref":"master","sha":"e7546715cac325111877ea77790e7cdd046df885","user":{"login":"mit-teaching-systems-lab","id":19670919,"avatar_url":"https://avatars.githubusercontent.com/u/19670919?v=3","gravatar_id":"","url":"https://api.github.com/users/mit-teaching-systems-lab","html_url":"https://github.com/mit-teaching-systems-lab","followers_url":"https://api.github.com/users/mit-teaching-systems-lab/followers","following_url":"https://api.github.com/users/mit-teaching-systems-lab/following{/other_user}","gists_url":"https://api.github.com/users/mit-teaching-systems-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/mit-teaching-systems-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mit-teaching-systems-lab/subscriptions","organizations_url":"https://api.github.com/users/mit-teaching-systems-lab/orgs","repos_url":"https://api.github.com/users/mit-teaching-systems-lab/repos","events_url":"https://api.github.com/users/mit-teaching-systems-lab/events{/privacy}","received_events_url":"https://api.github.com/users/mit-teaching-systems-lab/received_events","type":"Organization","site_admin":false},"repo":{"id":61143637,"name":"threeflows","full_name":"mit-teaching-systems-lab/threeflows","owner":{"login":"mit-teaching-systems-lab","id":19670919,"avatar_url":"https://avatars.githubusercontent.com/u/19670919?v=3","gravatar_id":"","url":"https://api.github.com/users/mit-teaching-systems-lab","html_url":"https://github.com/mit-teaching-systems-lab","followers_url":"https://api.github.com/users/mit-teaching-systems-lab/followers","following_url":"https://api.github.com/users/mit-teaching-systems-lab/following{/other_user}","gists_url":"https://api.github.com/users/mit-teaching-systems-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/mit-teaching-systems-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mit-teaching-systems-lab/subscriptions","organizations_url":"https://api.github.com/users/mit-teaching-systems-lab/orgs","repos_url":"https://api.github.com/users/mit-teaching-systems-lab/repos","events_url":"https://api.github.com/users/mit-teaching-systems-lab/events{/privacy}","received_events_url":"https://api.github.com/users/mit-teaching-systems-lab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mit-teaching-systems-lab/threeflows","description":"Design sketch of flows","fork":false,"url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows","forks_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/forks","keys_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/teams","hooks_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/hooks","issue_events_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/events{/number}","events_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/events","assignees_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/assignees{/user}","branches_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/branches{/branch}","tags_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/tags","blobs_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/git/refs{/sha}","trees_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/statuses/{sha}","languages_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/languages","stargazers_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/stargazers","contributors_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/contributors","subscribers_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/subscribers","subscription_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/subscription","commits_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/commits{/sha}","git_commits_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/git/commits{/sha}","comments_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/comments{/number}","issue_comment_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/comments{/number}","contents_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/contents/{+path}","compare_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/merges","archive_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/downloads","issues_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues{/number}","pulls_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls{/number}","milestones_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/milestones{/number}","notifications_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/labels{/name}","releases_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/releases{/id}","deployments_url":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/deployments","created_at":"2016-06-14T17:49:59Z","updated_at":"2016-06-14T20:25:26Z","pushed_at":"2016-08-15T16:36:16Z","git_url":"git://github.com/mit-teaching-systems-lab/threeflows.git","ssh_url":"git@github.com:mit-teaching-systems-lab/threeflows.git","clone_url":"https://github.com/mit-teaching-systems-lab/threeflows.git","svn_url":"https://github.com/mit-teaching-systems-lab/threeflows","homepage":null,"size":982,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120"},"html":{"href":"https://github.com/mit-teaching-systems-lab/threeflows/pull/120"},"issue":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/120"},"comments":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/issues/120/comments"},"review_comments":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120/comments"},"review_comment":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/pulls/120/commits"},"statuses":{"href":"https://api.github.com/repos/mit-teaching-systems-lab/threeflows/statuses/bc13df818548df20e851b28bec79e6f9fc79438e"}}}}
{"actor":{"display_login":"david-rosales"}}