{"action":"created","issue":{"url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/132","repository_url":"https://api.github.com/repos/XeroAPI/Xero-Net","labels_url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/132/labels{/name}","comments_url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/132/comments","events_url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/132/events","html_url":"https://github.com/XeroAPI/Xero-Net/pull/132","id":117204274,"number":132,"title":"Demonstration of making wrapper testable","user":{"login":"MatthewSteeples","id":255971,"avatar_url":"https://avatars.githubusercontent.com/u/255971?v=3","gravatar_id":"","url":"https://api.github.com/users/MatthewSteeples","html_url":"https://github.com/MatthewSteeples","followers_url":"https://api.github.com/users/MatthewSteeples/followers","following_url":"https://api.github.com/users/MatthewSteeples/following{/other_user}","gists_url":"https://api.github.com/users/MatthewSteeples/gists{/gist_id}","starred_url":"https://api.github.com/users/MatthewSteeples/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MatthewSteeples/subscriptions","organizations_url":"https://api.github.com/users/MatthewSteeples/orgs","repos_url":"https://api.github.com/users/MatthewSteeples/repos","events_url":"https://api.github.com/users/MatthewSteeples/events{/privacy}","received_events_url":"https://api.github.com/users/MatthewSteeples/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2015-11-16T19:53:57Z","updated_at":"2016-02-09T01:45:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/XeroAPI/Xero-Net/pulls/132","html_url":"https://github.com/XeroAPI/Xero-Net/pull/132","diff_url":"https://github.com/XeroAPI/Xero-Net/pull/132.diff","patch_url":"https://github.com/XeroAPI/Xero-Net/pull/132.patch"},"body":"Hi,\r\n\r\nThis is very much a work in progress and is a result of a conversation we've had with the API team about making this wrapper more testable. Currently it's very tightly coupled and to include it in your unit-tested code you either need to mock out some very low level items or make your own wrapper for the wrapper.\r\n\r\nI've made a start here on Journals showing what we think the library could look like. It doesn't break any of the behaviours of the library, and is source-compatible (though not binary compatible - you will need to recompile with the new library you can't just drop it into the folder).\r\n\r\nI've only made the modifications to journals because I didn't want to venture all the way down this path only to be told that you'd prefer it to be done differently. I'd like to turn this into a bit of a discussion about how best to proceed with this, and it's something we're looking at implementing very soon.\r\n\r\nI'm sorry about the whitespace changes. I can't work out what's different in the configuration of this project compared to the rest that I work on. You can view the diffs without whitespace by putting a ?w=1 on the url (https://github.com/blog/967-github-secrets).\r\n\r\nLooking forward to the conversation :)\r\n\r\nRegards,\r\nMatthew"},"comment":{"url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/comments/181664510","html_url":"https://github.com/XeroAPI/Xero-Net/pull/132#issuecomment-181664510","issue_url":"https://api.github.com/repos/XeroAPI/Xero-Net/issues/132","id":181664510,"user":{"login":"philals","id":8849355,"avatar_url":"https://avatars.githubusercontent.com/u/8849355?v=3","gravatar_id":"","url":"https://api.github.com/users/philals","html_url":"https://github.com/philals","followers_url":"https://api.github.com/users/philals/followers","following_url":"https://api.github.com/users/philals/following{/other_user}","gists_url":"https://api.github.com/users/philals/gists{/gist_id}","starred_url":"https://api.github.com/users/philals/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philals/subscriptions","organizations_url":"https://api.github.com/users/philals/orgs","repos_url":"https://api.github.com/users/philals/repos","events_url":"https://api.github.com/users/philals/events{/privacy}","received_events_url":"https://api.github.com/users/philals/received_events","type":"User","site_admin":false},"created_at":"2016-02-09T01:45:10Z","updated_at":"2016-02-09T01:45:10Z","body":"Thanks Matthew for all the work. It was good to work together on this one."}}