{"action":"closed","number":2374,"pull_request":{"url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374","id":55875803,"html_url":"https://github.com/Automattic/wp-calypso/pull/2374","diff_url":"https://github.com/Automattic/wp-calypso/pull/2374.diff","patch_url":"https://github.com/Automattic/wp-calypso/pull/2374.patch","issue_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/2374","number":2374,"state":"closed","locked":false,"title":"Free Trials: Move free trial checkout to a new controller","user":{"login":"Tug","id":230230,"avatar_url":"https://avatars.githubusercontent.com/u/230230?v=3","gravatar_id":"","url":"https://api.github.com/users/Tug","html_url":"https://github.com/Tug","followers_url":"https://api.github.com/users/Tug/followers","following_url":"https://api.github.com/users/Tug/following{/other_user}","gists_url":"https://api.github.com/users/Tug/gists{/gist_id}","starred_url":"https://api.github.com/users/Tug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tug/subscriptions","organizations_url":"https://api.github.com/users/Tug/orgs","repos_url":"https://api.github.com/users/Tug/repos","events_url":"https://api.github.com/users/Tug/events{/privacy}","received_events_url":"https://api.github.com/users/Tug/received_events","type":"User","site_admin":false},"body":"Move the free trial checkout to its own controller. This has the advantage of lightening the checkout component complexity and fixing a few minor bugs which made the free trial upgrade conflict with other cart items.\r\n\r\n#### Context\r\nSee this comment https://github.com/Automattic/wp-calypso/issues/286#issuecomment-171041340\r\n\r\nShould fix #1538 and #2207 and #2274 as well.\r\n\r\n### Testing instructions\r\n`git checkout update/free-trial-checkout-page`\r\n\r\n#### Test 1\r\n- Navigate to http://calypso.localhost:3000/plans/:site for a site eligible to free trial\r\n- Click on `Start Free Trials` and check that you are redirected to the Free Trial confirmation page.\r\n- Confirm subscription and check that you are redirected to the Plans page and that the thank you notice is displayed.\r\n- Close the notice\r\n\r\n#### Test 2 (needs a fix in wpcom)\r\n- Add a product (such as a premium theme) to your cart.\r\n- Don't complete checkout yet but go to the plans page and start a free trial.\r\n- Complete checkout of your product.\r\n\r\n#### Test 3\r\n- Navigate to `/start/free-trial`, choose a theme and a name for your new site.\r\n- On the Plans page click on one of the `Start Free Trials` button.\r\n- Ensure you are redirected to `/plans/:site/thank-you` and that the thank you notice is displaying.\r\n\r\n#### Test 4 (logged out)\r\n- Navigate to `/start/free-trial`\r\n- Enter `localStorage.setItem( 'ABTests', '{\"freeTrials_20160112\":\"offered\"}' );` in the console to add yourself to the test\r\n- Choose a theme and a name for your new site.\r\n- On the Plans page click on one of the `Start Free Trials` button.\r\n- Choose a name and password for your new account.\r\n- Confirm your free trial subscription\r\n- Ensure that you are redirected to `/plans/:site/thank-you` and that the thank you notice is displaying (along with the email confirmation notice).\r\n\r\n#### Test 5\r\n- Cancel a free trial from the admin tools (Only available for automatticians)\r\n- Go to the Plans page and check that the other plan is still available for a free trial.\r\n- Click on `Start Free Trials`\r\n- Change the url to the other plan and reload the page (for instance `/start-trial/premium/:site` becomes `/start-trial/business/:site`\r\n- Assert that you have a message telling you you cannot purchase and inviting you to go back to the Plans page\r\n\r\n#### Reviews\r\n- [ ] Code Review\r\n- [ ] Design Review\r\n- [ ] Product Review","created_at":"2016-01-13T10:00:44Z","updated_at":"2016-03-01T11:09:47Z","closed_at":"2016-03-01T11:09:47Z","merged_at":null,"merge_commit_sha":"673a30c0d1a5b9e811bd041491eb35ed8d822d6c","assignee":{"login":"Tug","id":230230,"avatar_url":"https://avatars.githubusercontent.com/u/230230?v=3","gravatar_id":"","url":"https://api.github.com/users/Tug","html_url":"https://github.com/Tug","followers_url":"https://api.github.com/users/Tug/followers","following_url":"https://api.github.com/users/Tug/following{/other_user}","gists_url":"https://api.github.com/users/Tug/gists{/gist_id}","starred_url":"https://api.github.com/users/Tug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tug/subscriptions","organizations_url":"https://api.github.com/users/Tug/orgs","repos_url":"https://api.github.com/users/Tug/repos","events_url":"https://api.github.com/users/Tug/events{/privacy}","received_events_url":"https://api.github.com/users/Tug/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Automattic/wp-calypso/milestones/60","html_url":"https://github.com/Automattic/wp-calypso/milestones/Free%20Trials:%20Future","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/milestones/60/labels","id":1605061,"number":60,"title":"Free Trials: Future","description":"","creator":{"login":"fabianapsimoes","id":1248436,"avatar_url":"https://avatars.githubusercontent.com/u/1248436?v=3","gravatar_id":"","url":"https://api.github.com/users/fabianapsimoes","html_url":"https://github.com/fabianapsimoes","followers_url":"https://api.github.com/users/fabianapsimoes/followers","following_url":"https://api.github.com/users/fabianapsimoes/following{/other_user}","gists_url":"https://api.github.com/users/fabianapsimoes/gists{/gist_id}","starred_url":"https://api.github.com/users/fabianapsimoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabianapsimoes/subscriptions","organizations_url":"https://api.github.com/users/fabianapsimoes/orgs","repos_url":"https://api.github.com/users/fabianapsimoes/repos","events_url":"https://api.github.com/users/fabianapsimoes/events{/privacy}","received_events_url":"https://api.github.com/users/fabianapsimoes/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":2,"state":"open","created_at":"2016-02-25T12:12:47Z","updated_at":"2016-03-01T11:09:47Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374/commits","review_comments_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374/comments","review_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/2374/comments","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/e95fb39b9c77d027ef84f364ec031bff1dd15aa0","head":{"label":"Automattic:update/free-trial-checkout-page","ref":"update/free-trial-checkout-page","sha":"e95fb39b9c77d027ef84f364ec031bff1dd15aa0","user":{"login":"Automattic","id":887802,"avatar_url":"https://avatars.githubusercontent.com/u/887802?v=3","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"repo":{"id":45936895,"name":"wp-calypso","full_name":"Automattic/wp-calypso","owner":{"login":"Automattic","id":887802,"avatar_url":"https://avatars.githubusercontent.com/u/887802?v=3","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Automattic/wp-calypso","description":"The new JavaScript- and API-powered WordPress.com","fork":false,"url":"https://api.github.com/repos/Automattic/wp-calypso","forks_url":"https://api.github.com/repos/Automattic/wp-calypso/forks","keys_url":"https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Automattic/wp-calypso/teams","hooks_url":"https://api.github.com/repos/Automattic/wp-calypso/hooks","issue_events_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}","events_url":"https://api.github.com/repos/Automattic/wp-calypso/events","assignees_url":"https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}","branches_url":"https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}","tags_url":"https://api.github.com/repos/Automattic/wp-calypso/tags","blobs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}","trees_url":"https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}","languages_url":"https://api.github.com/repos/Automattic/wp-calypso/languages","stargazers_url":"https://api.github.com/repos/Automattic/wp-calypso/stargazers","contributors_url":"https://api.github.com/repos/Automattic/wp-calypso/contributors","subscribers_url":"https://api.github.com/repos/Automattic/wp-calypso/subscribers","subscription_url":"https://api.github.com/repos/Automattic/wp-calypso/subscription","commits_url":"https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}","git_commits_url":"https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/comments{/number}","issue_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}","contents_url":"https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}","compare_url":"https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Automattic/wp-calypso/merges","archive_url":"https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Automattic/wp-calypso/downloads","issues_url":"https://api.github.com/repos/Automattic/wp-calypso/issues{/number}","pulls_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}","milestones_url":"https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}","notifications_url":"https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/labels{/name}","releases_url":"https://api.github.com/repos/Automattic/wp-calypso/releases{/id}","deployments_url":"https://api.github.com/repos/Automattic/wp-calypso/deployments","created_at":"2015-11-10T20:00:16Z","updated_at":"2016-03-01T08:16:01Z","pushed_at":"2016-03-01T10:56:55Z","git_url":"git://github.com/Automattic/wp-calypso.git","ssh_url":"git@github.com:Automattic/wp-calypso.git","clone_url":"https://github.com/Automattic/wp-calypso.git","svn_url":"https://github.com/Automattic/wp-calypso","homepage":"https://developer.wordpress.com/calypso/","size":56980,"stargazers_count":6894,"watchers_count":6894,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":799,"mirror_url":null,"open_issues_count":1248,"forks":799,"open_issues":1248,"watchers":6894,"default_branch":"master"}},"base":{"label":"Automattic:master","ref":"master","sha":"bc61ea7a171f0265a368e6372ec2710c963a5556","user":{"login":"Automattic","id":887802,"avatar_url":"https://avatars.githubusercontent.com/u/887802?v=3","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"repo":{"id":45936895,"name":"wp-calypso","full_name":"Automattic/wp-calypso","owner":{"login":"Automattic","id":887802,"avatar_url":"https://avatars.githubusercontent.com/u/887802?v=3","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Automattic/wp-calypso","description":"The new JavaScript- and API-powered WordPress.com","fork":false,"url":"https://api.github.com/repos/Automattic/wp-calypso","forks_url":"https://api.github.com/repos/Automattic/wp-calypso/forks","keys_url":"https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Automattic/wp-calypso/teams","hooks_url":"https://api.github.com/repos/Automattic/wp-calypso/hooks","issue_events_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}","events_url":"https://api.github.com/repos/Automattic/wp-calypso/events","assignees_url":"https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}","branches_url":"https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}","tags_url":"https://api.github.com/repos/Automattic/wp-calypso/tags","blobs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}","trees_url":"https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}","languages_url":"https://api.github.com/repos/Automattic/wp-calypso/languages","stargazers_url":"https://api.github.com/repos/Automattic/wp-calypso/stargazers","contributors_url":"https://api.github.com/repos/Automattic/wp-calypso/contributors","subscribers_url":"https://api.github.com/repos/Automattic/wp-calypso/subscribers","subscription_url":"https://api.github.com/repos/Automattic/wp-calypso/subscription","commits_url":"https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}","git_commits_url":"https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/comments{/number}","issue_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}","contents_url":"https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}","compare_url":"https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Automattic/wp-calypso/merges","archive_url":"https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Automattic/wp-calypso/downloads","issues_url":"https://api.github.com/repos/Automattic/wp-calypso/issues{/number}","pulls_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}","milestones_url":"https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}","notifications_url":"https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/labels{/name}","releases_url":"https://api.github.com/repos/Automattic/wp-calypso/releases{/id}","deployments_url":"https://api.github.com/repos/Automattic/wp-calypso/deployments","created_at":"2015-11-10T20:00:16Z","updated_at":"2016-03-01T08:16:01Z","pushed_at":"2016-03-01T10:56:55Z","git_url":"git://github.com/Automattic/wp-calypso.git","ssh_url":"git@github.com:Automattic/wp-calypso.git","clone_url":"https://github.com/Automattic/wp-calypso.git","svn_url":"https://github.com/Automattic/wp-calypso","homepage":"https://developer.wordpress.com/calypso/","size":56980,"stargazers_count":6894,"watchers_count":6894,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":799,"mirror_url":null,"open_issues_count":1248,"forks":799,"open_issues":1248,"watchers":6894,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374"},"html":{"href":"https://github.com/Automattic/wp-calypso/pull/2374"},"issue":{"href":"https://api.github.com/repos/Automattic/wp-calypso/issues/2374"},"comments":{"href":"https://api.github.com/repos/Automattic/wp-calypso/issues/2374/comments"},"review_comments":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374/comments"},"review_comment":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/2374/commits"},"statuses":{"href":"https://api.github.com/repos/Automattic/wp-calypso/statuses/e95fb39b9c77d027ef84f364ec031bff1dd15aa0"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":17,"review_comments":42,"commits":19,"additions":489,"deletions":85,"changed_files":27}}