{"action":"created","comment":{"url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/comments/208450854","pull_request_review_id":144261648,"id":208450854,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwODQ1MDg1NA==","diff_hunk":"@@ -1,6 +1,268 @@\n-## Triggering Events\n+## イベントをシミュレーションする\n \n-Talk about\n+Vueコンポーネントの中でよくやることの１つはユーザーが発生したイベントをハンドルすることです。`vue-test-utils`とJestでイベントのテストを書きやすくします。`trigger`とJestのモック関数を使ってコンポーネントのテストを書いてみましょう。\n \n-- how to use `trigger`\n-- use with `toHaveBeenCalled` and `.toHaveBeenCalledWith`\n+このガイドのテストのソースコードは[こちら](https://github.com/lmiller1990/vue-testing-handbook/tree/master/demo-app/tests/unit/FormSubmitter.spec.js)です。\n+\n+## コンポーネントを作成する\n+\n+`<input>`と`<button>`がある簡単な`<FormSubmitter>`コンポーネントを作ります。ボタンをクリックすると、何かが起こります。最初の例にボタンをクリックすると成功メッセージを表示します。次の例にボタンをクリックするとデータを外部サービスに送信します。\n+\n+`<FormSubmitter>`を作って、テンプレートにこう書きます：\n+\n+```html\n+<template>\n+  <div>\n+    <form @submit.prevent=\"handleSubmit\">\n+      <input v-model=\"username\" data-username>\n+      <input type=\"submit\">\n+    </form>\n+\n+    <div \n+      class=\"message\" \n+      v-show=\"submitted\"\n+    >\n+      {{ username }}さん、お問い合わせ、ありがとうございます。\n+    </div>\n+  </div>\n+</template>\n+```\n+\n+ユーザーはフォームを送信すると、メッセージを表示させます。フォームを同期的に送信するので、`@submit.prevent`で送信します。そうしないと、デフォルトアクションが走ります。フィームを送信するとデフォルトアクションはページをリフレッシュします。\n+\n+フォームを送信するロジックを追加します：\n+\n+```html\n+<script>\n+  export default {\n+    name: \"FormSubmitter\",\n+\n+    data() {\n+      return {\n+        username: '',\n+        submitted: false\n+      }\n+    },\n+\n+    methods: {\n+      handleSubmit() {\n+        this.submitted = true\n+      }\n+    }\n+  }\n+</script>\n+```\n+\n+簡単です。送信すると`submitted`を`true`にするだけです。\n+\n+## テストを書く\n+\n+テストをこう書きます：\n+\n+```js\n+import { shallowMount } from \"@vue/test-utils\"\n+import FormSubmitter from \"@/components/FormSubmitter.vue\"\n+\n+describe(\"FormSubmitter\", () => {\n+  it(\"フォームを更新するとお知らせを表示\", () => {\n+    const wrapper = shallowMount(FormSubmitter)\n+\n+    wrapper.find(\"[data-username]\").setValue(\"alice\")\n+    wrapper.find(\"form\").trigger(\"submit.prevent\")\n+\n+    expect(wrapper.find(\".message\").text())\n+      .toBe(\"aliceさん、お問い合わせ、ありがとうございます。\")\n+  })\n+})\n+```\n+\n+テストがわかりやすいです。コンポーネントをマウントして、`username`を`setValue`で入力して、そして`vue-test-utils`の`trigger`を使って送信することシミュレーションします。`trigger`をカスタムイベントにも使えるので`submit.prevent`や`myEvent.doSomething`でも問題ないです。\n+\n+このテストはユニットテストの３つのステップで分けました：\n+\n+1. `arrange` (初期設定) - テストの準備。この場合、コンポーネントをレンダーします\n+2. `act` (実行) - システムを実行します。\n+3. `assert` (検証）- 期待と検証を比べます。\n+\n+ステップずつテストを分けるのが好きです。読みやすくなると思います。\n+\n+`yarn test:unit`で実行すると、パスするはずです。 \n+\n+`trigger`の使い方は簡単です。ただイベントを発生させたい要素を`find`で検証して、イベント名を`trigger`に渡して呼び出します。\n+\n+## 実例\n+\n+アプリにフォームが良くあります。フォームのデータをエンドポイントに送信します。`handleSubmit`の実装を更新して、`axios`というよく使われるHTTPクライエントで送信してみます。そしてそのコードのテストを書きます。\n+\n+`axios`を`Vue.prototype.$http`にアリアスすることもよくあります。詳しくは[こちら](https://jp.vuejs.org/v2/cookbook/adding-instance-properties.html)。こうすると、`this.$http.get`を呼び出すだけでデータをエンドポイントに送信できます。\n+\n+アリアスして、`this.$http`でフォームを送信する実装はこうです。\n+\n+```js\n+handleSubmitAsync() {\n+  return this.$http.get(\"/api/v1/register\", { username: this.username })\n+    .then(() => {\n+      this.submitted = true\n+    })\n+    .catch(() => {\n+      throw Error(\"Something went wrong\")\n+    })\n+}\n+```\n+\n+`this.$http`をモックしたら、上のコードを簡単にテストできます。モックするには`mocks`マウンティングオプションを使えます。`mocks`ついて詳しくは[こちら](https://vue-test-utils.vuejs.org/ja/api/options.html#mocks)。`http.get`のモック実装はこうです。\n+\n+```js\n+let url = ''\n+let data = ''\n+\n+const mockHttp = {\n+  get: (_url, _data) => {\n+    return new Promise((resolve, reject) => {\n+      url = _url\n+      data = _data\n+      resolve()\n+    })\n+  }\n+}\n+```\n+\n+いくつかの面白い点があります。\n+\n+- `$http.get`に渡す`url`と`data`を保存するために`url`と`data`変数を作ります。そうすると、`handleSubmitAsync`を呼び出すとたたしいエンドポイントと正しいペイロードで動くか検証できます。- `url`と`data`をアサインしてから、`Promise`をすぐに`resolve`（解決）します。これは正解となったレスポンスのシミュレーションです。\n+\n+テストを書く前に、`handleSubmitAsync`を更新します：\n+\n+```js\n+methods: {\n+  handleSubmitAsync() {\n+    return this.$http.get(\"/api/v1/register\", { username: this.username })\n+      .then(() => {\n+        this.submitted = true\n+      })\n+      .catch((e) => {\n+        throw Error(\"Something went wrong\", e)\n+      })\n+  }\n+}\n+```\n+\n+そして`<template>`を更新して、新しい`handleSubmitAsync`を使います：\n+\n+```html\n+<template>\n+  <div>\n+    <form @submit.prevent=\"handleSubmitAsync\">\n+      <input v-model=\"username\" data-username>\n+      <input type=\"submit\">\n+    </form>\n+\n+  <!-- ... -->","path":"src/ja/simulating-user-input.md","position":164,"original_position":164,"commit_id":"c04657ddbad40a6aacaac97a9c1fe1fe763e930f","original_commit_id":"e185bd4ea3dae4e028ad7e96668b4ba7ac58819f","user":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"body":"あ、それを使ってない。手で`<!-- -->`を追加した。笑\r\n\r\nでも確かにあのツールでこのようなSnippetを作るためのツールです！","created_at":"2018-08-08T04:07:05Z","updated_at":"2018-08-08T04:07:05Z","html_url":"https://github.com/lmiller1990/vue-testing-handbook/pull/55#discussion_r208450854","pull_request_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/comments/208450854"},"html":{"href":"https://github.com/lmiller1990/vue-testing-handbook/pull/55#discussion_r208450854"},"pull_request":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55"}},"in_reply_to_id":208120560},"pull_request":{"url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55","id":206082129,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MDgyMTI5","html_url":"https://github.com/lmiller1990/vue-testing-handbook/pull/55","diff_url":"https://github.com/lmiller1990/vue-testing-handbook/pull/55.diff","patch_url":"https://github.com/lmiller1990/vue-testing-handbook/pull/55.patch","issue_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/55","number":55,"state":"open","locked":false,"title":"Work on japanese trans. for simulating events","user":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"body":"This will resolves #20","created_at":"2018-08-03T16:38:41Z","updated_at":"2018-08-08T04:07:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fef48fb7b09cbee293125ffcc00c9e313b5f01d4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":981664531,"node_id":"MDU6TGFiZWw5ODE2NjQ1MzE=","url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/labels/translation","name":"translation","color":"e5505c","default":false},{"id":981670925,"node_id":"MDU6TGFiZWw5ODE2NzA5MjU=","url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/labels/%E6%97%A5%E6%9C%AC%E8%AA%9E","name":"日本語","color":"d4a7e8","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55/commits","review_comments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55/comments","review_comment_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/55/comments","statuses_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/statuses/c04657ddbad40a6aacaac97a9c1fe1fe763e930f","head":{"label":"lmiller1990:simulate-translation","ref":"simulate-translation","sha":"c04657ddbad40a6aacaac97a9c1fe1fe763e930f","user":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"repo":{"id":139344222,"node_id":"MDEwOlJlcG9zaXRvcnkxMzkzNDQyMjI=","name":"vue-testing-handbook","full_name":"lmiller1990/vue-testing-handbook","owner":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmiller1990/vue-testing-handbook","description":"A guide on testing Vue components and applications","fork":false,"url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook","forks_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/forks","keys_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/teams","hooks_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/hooks","issue_events_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/events{/number}","events_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/events","assignees_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/assignees{/user}","branches_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/branches{/branch}","tags_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/tags","blobs_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/statuses/{sha}","languages_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/languages","stargazers_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/stargazers","contributors_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/contributors","subscribers_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/subscribers","subscription_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/subscription","commits_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/contents/{+path}","compare_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/merges","archive_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/downloads","issues_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues{/number}","pulls_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls{/number}","milestones_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/milestones{/number}","notifications_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/labels{/name}","releases_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/releases{/id}","deployments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/deployments","created_at":"2018-07-01T16:22:44Z","updated_at":"2018-08-08T02:45:18Z","pushed_at":"2018-08-08T03:07:33Z","git_url":"git://github.com/lmiller1990/vue-testing-handbook.git","ssh_url":"git@github.com:lmiller1990/vue-testing-handbook.git","clone_url":"https://github.com/lmiller1990/vue-testing-handbook.git","svn_url":"https://github.com/lmiller1990/vue-testing-handbook","homepage":"https://lmiller1990.github.io/vue-testing-handbook/","size":1807,"stargazers_count":28,"watchers_count":28,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":12,"mirror_url":null,"archived":false,"open_issues_count":11,"license":null,"forks":12,"open_issues":11,"watchers":28,"default_branch":"master"}},"base":{"label":"lmiller1990:master","ref":"master","sha":"bdb328567e2b58950090b332da751309cede67d0","user":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"repo":{"id":139344222,"node_id":"MDEwOlJlcG9zaXRvcnkxMzkzNDQyMjI=","name":"vue-testing-handbook","full_name":"lmiller1990/vue-testing-handbook","owner":{"login":"lmiller1990","id":19196536,"node_id":"MDQ6VXNlcjE5MTk2NTM2","avatar_url":"https://avatars1.githubusercontent.com/u/19196536?v=4","gravatar_id":"","url":"https://api.github.com/users/lmiller1990","html_url":"https://github.com/lmiller1990","followers_url":"https://api.github.com/users/lmiller1990/followers","following_url":"https://api.github.com/users/lmiller1990/following{/other_user}","gists_url":"https://api.github.com/users/lmiller1990/gists{/gist_id}","starred_url":"https://api.github.com/users/lmiller1990/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmiller1990/subscriptions","organizations_url":"https://api.github.com/users/lmiller1990/orgs","repos_url":"https://api.github.com/users/lmiller1990/repos","events_url":"https://api.github.com/users/lmiller1990/events{/privacy}","received_events_url":"https://api.github.com/users/lmiller1990/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lmiller1990/vue-testing-handbook","description":"A guide on testing Vue components and applications","fork":false,"url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook","forks_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/forks","keys_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/teams","hooks_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/hooks","issue_events_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/events{/number}","events_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/events","assignees_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/assignees{/user}","branches_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/branches{/branch}","tags_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/tags","blobs_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/refs{/sha}","trees_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/statuses/{sha}","languages_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/languages","stargazers_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/stargazers","contributors_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/contributors","subscribers_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/subscribers","subscription_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/subscription","commits_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/commits{/sha}","git_commits_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/git/commits{/sha}","comments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/comments{/number}","issue_comment_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/comments{/number}","contents_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/contents/{+path}","compare_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/merges","archive_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/downloads","issues_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues{/number}","pulls_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls{/number}","milestones_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/milestones{/number}","notifications_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/labels{/name}","releases_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/releases{/id}","deployments_url":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/deployments","created_at":"2018-07-01T16:22:44Z","updated_at":"2018-08-08T02:45:18Z","pushed_at":"2018-08-08T03:07:33Z","git_url":"git://github.com/lmiller1990/vue-testing-handbook.git","ssh_url":"git@github.com:lmiller1990/vue-testing-handbook.git","clone_url":"https://github.com/lmiller1990/vue-testing-handbook.git","svn_url":"https://github.com/lmiller1990/vue-testing-handbook","homepage":"https://lmiller1990.github.io/vue-testing-handbook/","size":1807,"stargazers_count":28,"watchers_count":28,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":12,"mirror_url":null,"archived":false,"open_issues_count":11,"license":null,"forks":12,"open_issues":11,"watchers":28,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55"},"html":{"href":"https://github.com/lmiller1990/vue-testing-handbook/pull/55"},"issue":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/55"},"comments":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/issues/55/comments"},"review_comments":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55/comments"},"review_comment":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/pulls/55/commits"},"statuses":{"href":"https://api.github.com/repos/lmiller1990/vue-testing-handbook/statuses/c04657ddbad40a6aacaac97a9c1fe1fe763e930f"}},"author_association":"OWNER"}}
{"actor":{"display_login":"lmiller1990"}}