{"action":"created","comment":{"url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/comments/61600997","id":61600997,"diff_hunk":"@@ -0,0 +1,411 @@\n+/**\n+ * This class contains unit tests for validating the behavior of Apex classes\n+ * and triggers.\n+ *\n+ * Unit tests are class methods that verify whether a particular piece\n+ * of code is working properly. Unit test methods take no arguments,\n+ * commit no data to the database, and are flagged with the testMethod\n+ * keyword in the method definition.\n+ *\n+ * All test methods in an organization are executed whenever Apex code is deployed\n+ * to a production organization to confirm correctness, ensure code\n+ * coverage, and prevent regressions. All Apex classes are\n+ * required to have at least 75% code coverage in order to be deployed\n+ * to a production organization. In addition, all triggers must have some code coverage.\n+ * \n+ * The @isTest class annotation indicates this class only contains test\n+ * methods. Classes defined with the @isTest annotation do not count against\n+ * the organization size limit for all Apex scripts.\n+ *\n+ * See the Apex Language Reference for more information about Testing and Code Coverage.\n+ */\n+@isTest\n+private class LineItemTriggerTest {\n+\t\n+\tprivate static final Integer TEST_VOLUMES_NUMBER_OF_ACCOUNTS = 100;\n+\tprivate static final Integer TEST_VOLUMES_NUMBER_OF_LOTS = 1000;\n+\tprivate static final Integer TEST_VOLUMES_LINE_ITEMS_PER_PURCHASE = 10;\n+\tprivate static final Decimal TEST_PRICE_ORANGES = 4;\n+\tprivate static final Decimal TEST_PRICE_APPLES = 2;\n+\tprivate static final Decimal TEST_PRICE_PEARS = 3;\n+\n+\t/** TEST WRAPPER COMPARATOR\n+\t\t==========================================================================================\n+    \tA sortable wrapper is used to sort results when counting product and product categories\n+    \tper order. This test ensure the comparator works as it should. \n+    \t========================================================================================== */\t\n+\tstatic testMethod void testWrapperComparator() {\n+\t\tTest.startTest();\n+\t\t\n+\t\t// Prepare wrappers: w1=w2, w1>w3\n+\t\tLineItemTriggerHandler.CategoryWrapper w1 = new LineItemTriggerHandler.CategoryWrapper('w1');\n+\t\tLineItemTriggerHandler.CategoryWrapper w2 = new LineItemTriggerHandler.CategoryWrapper('w2');\n+\t\tLineItemTriggerHandler.CategoryWrapper w3 = new LineItemTriggerHandler.CategoryWrapper('w3');\n+\t\tw1.addUnits(1);\n+\t\tw2.addUnits(1);\n+\t\tw3.addUnits(2);\n+\t\t\n+\t\t// Check results\n+\t\tSystem.assertEquals(1, w1.compareTo(w3), 'w1 greater than w3');\n+\t\tSystem.assertEquals(-1, w3.compareTo(w1), 'w3 less than w1');\n+\t\tSystem.assertEquals(0, w1.compareTo(w2), 'w1 equals w2');\n+\t\t\n+\t\tTest.stopTest();\n+\t}\n+\n+\t/** TEST COMPUTATION ON VOLUMES\n+\t\t==========================================================================================\n+    \tThis test ensures code scale to the required volumes without breaking governor limits\n+\t\t\t- 1000 product lots, 10 OLI per order, 10 Orders per Purchase agreement\n+\t\tPlease note: no assertions on logic here, only volumes are tested. Logic is tested below. \n+    \t========================================================================================== */\t\n+\tstatic testMethod void testLargeVolumes() {\n+\t\t\n+\t\tUser accountManager = TestDataFactory.createUser('Account Managers', 'aManager');\n+\t\tUser inventoryManager = TestDataFactory.createUser('Inventory Managers','iManager');\n+\t\tList<Lot__c> allTheLots;\n+\n+\t\t// Inventory manager sets up accounts\t\t\n+\t\tSystem.runAs(inventoryManager) {\n+\t\t\tallTheLots = TestDataFactory.createLots(TEST_VOLUMES_NUMBER_OF_LOTS);\n+\t\t\tinsert allTheLots;\n+\t\t}\n+\t\t\n+\t\t// Account manager creates accounts and orders\n+\t\tSystem.runAs(accountManager) {\n+\t\t\tList<Account> accounts = TestDataFactory.createAccounts(TEST_VOLUMES_NUMBER_OF_ACCOUNTS);\n+\t\t\tinsert accounts;\n+\t\t\tList<Order__c> orders = TestDataFactory.createOrders(accounts);\n+\t\t\tinsert orders;\n+\t\t\t\n+\t\t\tList<Lot__c> someLots = new List<Lot__c>();\n+\t\t\tfor (Integer i=0; i<TEST_VOLUMES_LINE_ITEMS_PER_PURCHASE; i++) {\n+\t\t\t\tsomeLots.add(allTheLots[i]);\n+\t\t\t}\n+\t\t\t\n+\t\t\tList<Line_Item__c> largeBulk = TestDataFactory.createLineItems(orders, someLots, 1);\n+\t\t\tTest.startTest();\n+\t\t\t\tinsert largeBulk;\n+\t\t\tTest.stopTest();\n+\t\t}\n+\t\t\n+\t}\n+\t\n+\t@IsTest(seeAllData=false)\n+\tprivate static void testOrphanLineItems() {\n+\t\t\n+\t\tUser accountManager = TestDataFactory.createUser('Account Managers', 'aManager');\n+\t\tUser inventoryManager = TestDataFactory.createUser('Inventory Managers','iManager');\n+\t\t\n+\t\tSystem.runAs(inventoryManager) {\n+\t\t\tAccount myStore = TestDataFactory.createAccount();\n+\t\t\tAccount anotherStore = TestDataFactory.createAccount();\n+\t\t\tinsert new List<Account> { myStore, anotherStore };\n+\t\t}\n+\t\t\n+\t\tSystem.runAs(accountManager) {\n+\t\t\tLot__c apples = TestDataFactory.createLot('apples', TEST_PRICE_APPLES);\n+\t    \tLot__c pears = TestDataFactory.createLot('pears', TEST_PRICE_PEARS);\n+\t    \tLot__c oranges = TestDataFactory.createLot('oranges', TEST_PRICE_ORANGES);\n+\t    \tList<Lot__c> lots = new List<Lot__c> { pears, oranges, apples }; \n+\t    \tinsert lots;\n+\t    \t\n+\t    \tList<Line_Item__c> lineItems = new List<Line_Item__c>();\n+\t    \tLine_Item__c myApples = TestDataFactory.createLineItem(apples, 10);\n+\t    \tLine_Item__c myOranges = TestDataFactory.createLineItem(oranges, 9);\n+\t    \tLine_Item__c myPears = TestDataFactory.createLineItem(pears, 8);\n+\t    \tlineItems.add( myOranges );\n+\t    \tlineItems.add( myApples );\n+\t    \tlineItems.add( myPears );\n+\t    \t\n+\t    \tTest.startTest();\n+\t    \t\tinsert lineItems;\n+\t    \tTest.stopTest();\n+\t    \t\n+\t    \tlineItems = [SELECT Id, Order__c FROM Line_Item__c];\n+\t    \tfor (Line_Item__c li : lineItems) {\n+\t    \t\tSystem.assertEquals(null, li.Order__c, 'Order should be null');\n+\t    \t}\n+\t\t}\n+\t}\n+\t\n+\tstatic testMethod void testOrdersWithLineItemsInsert() {\n+\t\t\n+\t\tOrder__c myOrder;\n+\t\tLot__c apples, pears, oranges;\n+\t\tList<Lot__c> lots;\n+\t\t\n+\t\tUser accountManager = TestDataFactory.createUser('Account Managers', 'aManager');\n+\t\tUser inventoryManager = TestDataFactory.createUser('Inventory Managers','iManager');\n+\t\t\n+\t\tSystem.runAs(inventoryManager) {\n+\t\t\tapples = TestDataFactory.createLot('apples', TEST_PRICE_APPLES);\n+\t    \tpears = TestDataFactory.createLot('pears', TEST_PRICE_PEARS);\n+\t    \toranges = TestDataFactory.createLot('oranges', TEST_PRICE_ORANGES);\n+\t    \tlots = new List<Lot__c> { pears, oranges, apples }; \n+\t    \tinsert lots;\n+\t\t}\n+\t\t\n+\t\tSystem.runAs(accountManager) {\n+\t\t\t\n+\t\t\tAccount myStore = TestDataFactory.createAccount();\n+\t\t\tAccount anotherStore = TestDataFactory.createAccount();\n+\t\t\tinsert new List<Account> { myStore, anotherStore };\n+\t\t\t\n+\t    \tmyOrder = TestDataFactory.createOrder(myStore);\n+\t    \tOrder__c anotherOrder = TestDataFactory.createOrder(myStore);\n+\t    \tOrder__c someoneElsesOrder = TestDataFactory.createOrder(anotherStore);\n+\t    \tinsert new List<Order__c> { myOrder, anotherOrder, someoneElsesOrder };\n+\t    \t\n+\t    \t/* Bulk INSERT\n+\t    \t * Create many orders and line items in the same transactions, ensure that logic works \n+\t    \t * without messing up with different orders. \n+\t    \t=============================================================================================================== */\n+\t    \tList<Line_Item__c> lineItems = new List<Line_Item__c>();\n+\t    \tLine_Item__c myApples = TestDataFactory.createLineItem(myOrder, apples, 10);\n+\t    \tLine_Item__c myOranges = TestDataFactory.createLineItem(myOrder, oranges, 9);\n+\t    \tLine_Item__c myPearsFirstBit = TestDataFactory.createLineItem(myOrder, pears, 6);\n+\t    \tLine_Item__c myPearsSecondBit = TestDataFactory.createLineItem(myOrder, pears, 5); \n+\t    \tlineItems.add( myOranges );\n+\t    \tlineItems.add( myApples );\n+\t    \tlineItems.add( myPearsFirstBit );\n+\t    \tlineItems.add( myPearsSecondBit );\n+\t    \t\n+\t    \t// create some other orders to ensure processing doesn't mess up with orders\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, apples, 20) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, pears, 7) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, oranges, 6) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(someoneElsesOrder, oranges, 1) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(someoneElsesOrder, pears, 2) );\n+\t    \t\n+\t    \tTest.startTest();\n+\t    \t\tinsert lineItems;\n+\t    \tTest.stopTest();\n+\t\t}\n+\t\t\n+\t\t// Reload myOrder and assert results on insert (for both price and 1st + 2nd category)\n+\t\tDecimal expectedAmount = 9*TEST_PRICE_ORANGES + (6+5)*TEST_PRICE_PEARS + 10*TEST_PRICE_APPLES;\n+    \tmyOrder = [SELECT Purchased__c,Product_Category_1__c,Product_Category_Units_1__c,Product_Category_2__c,Product_Category_Units_2__c FROM Order__c WHERE Id = :myOrder.Id][0];\n+    \tSystem.assertEquals(expectedAmount, myOrder.Purchased__c, 'Purchased price is incorrect on insert');\n+    \tSystem.assertEquals('pears', myOrder.Product_Category_1__c,  'First product category is incorrect on insert');\n+    \tSystem.assertEquals(11, myOrder.Product_Category_Units_1__c, 'First product category units are incorrect on insert');\n+    \tSystem.assertEquals('apples', myOrder.Product_Category_2__c, 'Second product category is incorrect on insert');\n+    \tSystem.assertEquals(10, myOrder.Product_Category_Units_2__c, 'Second product category units are incorrect on insert');\n+\t\t\n+\t}\n+\t\n+\tstatic testMethod void testOrdersWithLineItemsUpdate() {\n+\t\t\n+\t\tOrder__c myOrder;\n+\t\tLot__c apples, pears, oranges;\n+\t\tList<Lot__c> lots;\n+\t\t\n+\t\tUser accountManager = TestDataFactory.createUser('Account Managers', 'aManager');\n+\t\tUser inventoryManager = TestDataFactory.createUser('Inventory Managers','iManager');\n+\t\t\n+\t\tSystem.runAs(inventoryManager) {\n+\t\t\tapples = TestDataFactory.createLot('apples', TEST_PRICE_APPLES);\n+\t    \tpears = TestDataFactory.createLot('pears', TEST_PRICE_PEARS);\n+\t    \toranges = TestDataFactory.createLot('oranges', TEST_PRICE_ORANGES);\n+\t    \tlots = new List<Lot__c> { pears, oranges, apples }; \n+\t    \tinsert lots;\n+\t\t}\n+\t\t\n+\t\tSystem.runAs(accountManager) {\n+\t\t\t\n+\t\t\tAccount myStore = TestDataFactory.createAccount();\n+\t\t\tAccount anotherStore = TestDataFactory.createAccount();\n+\t\t\tinsert new List<Account> { myStore, anotherStore };\n+\t\t\t\n+\t    \tmyOrder = TestDataFactory.createOrder(myStore);\n+\t    \tOrder__c anotherOrder = TestDataFactory.createOrder(myStore);\n+\t    \tOrder__c someoneElsesOrder = TestDataFactory.createOrder(anotherStore);\n+\t    \tinsert new List<Order__c> { myOrder, anotherOrder, someoneElsesOrder };\n+\t    \t\n+\t    \tList<Line_Item__c> lineItems = new List<Line_Item__c>();\n+\t    \tLine_Item__c myApples = TestDataFactory.createLineItem(myOrder, apples, 10);\n+\t    \tLine_Item__c myOranges = TestDataFactory.createLineItem(myOrder, oranges, 9);\n+\t    \tLine_Item__c myPearsFirstBit = TestDataFactory.createLineItem(myOrder, pears, 6);\n+\t    \tLine_Item__c myPearsSecondBit = TestDataFactory.createLineItem(myOrder, pears, 5); \n+\t    \tlineItems.add( myOranges );\n+\t    \tlineItems.add( myApples );\n+\t    \tlineItems.add( myPearsFirstBit );\n+\t    \tlineItems.add( myPearsSecondBit );\n+\t    \t\n+\t    \t// create some other orders to ensure processing doesn't mess up with orders\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, apples, 20) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, pears, 7) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(anotherOrder, oranges, 6) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(someoneElsesOrder, oranges, 1) );\n+\t    \tlineItems.add( TestDataFactory.createLineItem(someoneElsesOrder, pears, 2) );\n+\t    \t\n+\t    \tinsert lineItems;\n+\t    \t\n+\t    \t/* BULK UPDATE\n+\t    \t * Update some line items with different number of units, ensure logic works\n+\t    \t============================================================================== */\n+\t\t\tList<Line_Item__c> orangesAndApples = new List<Line_Item__c> { myApples, myOranges }; \n+\t\t\tmyApples.Units__c = 20;\n+\t\t\tmyOranges.Units__c = 7;\n+\t    \tTest.startTest();\n+\t    \t\tupdate orangesAndApples;\n+\t    \tTest.stopTest();\n+\t\t}\n+\t\t\t\n+\t\t// Reload myOrder and check expected results (for both price and 1st + 2nd category)\n+\t\tmyOrder = [SELECT Purchased__c,Product_Category_1__c,Product_Category_Units_1__c,Product_Category_2__c,Product_Category_Units_2__c FROM Order__c WHERE Id = :myOrder.Id][0];\n+\t\tDecimal expectedAmount = 7*TEST_PRICE_ORANGES + (6+5)*TEST_PRICE_PEARS + 20*TEST_PRICE_APPLES;\n+\t\tSystem.assertEquals(expectedAmount, myOrder.Purchased__c, 'Purchased price is incorrect on update');\n+\t\tSystem.assertEquals('apples', myOrder.Product_Category_1__c,  'First product category is incorrect on update');\n+\t\tSystem.assertEquals(20, myOrder.Product_Category_Units_1__c, 'First product category units are incorrect on update');\n+\t\tSystem.assertEquals('pears', myOrder.Product_Category_2__c, 'Second product category is incorrect on update');\n+\t\tSystem.assertEquals(11, myOrder.Product_Category_Units_2__c, 'Second product category units are incorrect on update');\n+\t}\n+\t\n+\tstatic testMethod void testOrdersWithLineItemsDelete() {","path":"src/classes/LineItemTriggerTest.cls","position":265,"original_position":265,"commit_id":"4161a2b4c905516cd0c690f694b04ae2e7c87569","original_commit_id":"4161a2b4c905516cd0c690f694b04ae2e7c87569","user":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"body":"Style issue: test methods should be annotated with @IsTest for better readibility","created_at":"2016-04-29T16:00:57Z","updated_at":"2016-04-29T16:00:57Z","html_url":"https://github.com/eroispaziali/my-test-project/pull/1#discussion_r61600997","pull_request_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/comments/61600997"},"html":{"href":"https://github.com/eroispaziali/my-test-project/pull/1#discussion_r61600997"},"pull_request":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1","id":68394285,"html_url":"https://github.com/eroispaziali/my-test-project/pull/1","diff_url":"https://github.com/eroispaziali/my-test-project/pull/1.diff","patch_url":"https://github.com/eroispaziali/my-test-project/pull/1.patch","issue_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/1","number":1,"state":"open","locked":false,"title":"new stuff","user":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-29T16:00:10Z","updated_at":"2016-04-29T16:00:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f0704b58a476c1f67339501ccb9313a299cccb70","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1/commits","review_comments_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1/comments","review_comment_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/1/comments","statuses_url":"https://api.github.com/repos/eroispaziali/my-test-project/statuses/4161a2b4c905516cd0c690f694b04ae2e7c87569","head":{"label":"eroispaziali:trunk","ref":"trunk","sha":"4161a2b4c905516cd0c690f694b04ae2e7c87569","user":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"repo":{"id":57395407,"name":"my-test-project","full_name":"eroispaziali/my-test-project","owner":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/eroispaziali/my-test-project","description":"A test project, nothing really interesting.","fork":false,"url":"https://api.github.com/repos/eroispaziali/my-test-project","forks_url":"https://api.github.com/repos/eroispaziali/my-test-project/forks","keys_url":"https://api.github.com/repos/eroispaziali/my-test-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eroispaziali/my-test-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eroispaziali/my-test-project/teams","hooks_url":"https://api.github.com/repos/eroispaziali/my-test-project/hooks","issue_events_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/events{/number}","events_url":"https://api.github.com/repos/eroispaziali/my-test-project/events","assignees_url":"https://api.github.com/repos/eroispaziali/my-test-project/assignees{/user}","branches_url":"https://api.github.com/repos/eroispaziali/my-test-project/branches{/branch}","tags_url":"https://api.github.com/repos/eroispaziali/my-test-project/tags","blobs_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eroispaziali/my-test-project/statuses/{sha}","languages_url":"https://api.github.com/repos/eroispaziali/my-test-project/languages","stargazers_url":"https://api.github.com/repos/eroispaziali/my-test-project/stargazers","contributors_url":"https://api.github.com/repos/eroispaziali/my-test-project/contributors","subscribers_url":"https://api.github.com/repos/eroispaziali/my-test-project/subscribers","subscription_url":"https://api.github.com/repos/eroispaziali/my-test-project/subscription","commits_url":"https://api.github.com/repos/eroispaziali/my-test-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/eroispaziali/my-test-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/eroispaziali/my-test-project/contents/{+path}","compare_url":"https://api.github.com/repos/eroispaziali/my-test-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eroispaziali/my-test-project/merges","archive_url":"https://api.github.com/repos/eroispaziali/my-test-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eroispaziali/my-test-project/downloads","issues_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues{/number}","pulls_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls{/number}","milestones_url":"https://api.github.com/repos/eroispaziali/my-test-project/milestones{/number}","notifications_url":"https://api.github.com/repos/eroispaziali/my-test-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eroispaziali/my-test-project/labels{/name}","releases_url":"https://api.github.com/repos/eroispaziali/my-test-project/releases{/id}","deployments_url":"https://api.github.com/repos/eroispaziali/my-test-project/deployments","created_at":"2016-04-29T15:41:45Z","updated_at":"2016-04-29T15:41:45Z","pushed_at":"2016-04-29T16:00:10Z","git_url":"git://github.com/eroispaziali/my-test-project.git","ssh_url":"git@github.com:eroispaziali/my-test-project.git","clone_url":"https://github.com/eroispaziali/my-test-project.git","svn_url":"https://github.com/eroispaziali/my-test-project","homepage":null,"size":19,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"trunk"}},"base":{"label":"eroispaziali:master","ref":"master","sha":"e9ba4a5bc8ef93b4b8b678d1fb8d92f8cc8c2d3d","user":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"repo":{"id":57395407,"name":"my-test-project","full_name":"eroispaziali/my-test-project","owner":{"login":"eroispaziali","id":1273282,"avatar_url":"https://avatars.githubusercontent.com/u/1273282?v=3","gravatar_id":"","url":"https://api.github.com/users/eroispaziali","html_url":"https://github.com/eroispaziali","followers_url":"https://api.github.com/users/eroispaziali/followers","following_url":"https://api.github.com/users/eroispaziali/following{/other_user}","gists_url":"https://api.github.com/users/eroispaziali/gists{/gist_id}","starred_url":"https://api.github.com/users/eroispaziali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eroispaziali/subscriptions","organizations_url":"https://api.github.com/users/eroispaziali/orgs","repos_url":"https://api.github.com/users/eroispaziali/repos","events_url":"https://api.github.com/users/eroispaziali/events{/privacy}","received_events_url":"https://api.github.com/users/eroispaziali/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/eroispaziali/my-test-project","description":"A test project, nothing really interesting.","fork":false,"url":"https://api.github.com/repos/eroispaziali/my-test-project","forks_url":"https://api.github.com/repos/eroispaziali/my-test-project/forks","keys_url":"https://api.github.com/repos/eroispaziali/my-test-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eroispaziali/my-test-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eroispaziali/my-test-project/teams","hooks_url":"https://api.github.com/repos/eroispaziali/my-test-project/hooks","issue_events_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/events{/number}","events_url":"https://api.github.com/repos/eroispaziali/my-test-project/events","assignees_url":"https://api.github.com/repos/eroispaziali/my-test-project/assignees{/user}","branches_url":"https://api.github.com/repos/eroispaziali/my-test-project/branches{/branch}","tags_url":"https://api.github.com/repos/eroispaziali/my-test-project/tags","blobs_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eroispaziali/my-test-project/statuses/{sha}","languages_url":"https://api.github.com/repos/eroispaziali/my-test-project/languages","stargazers_url":"https://api.github.com/repos/eroispaziali/my-test-project/stargazers","contributors_url":"https://api.github.com/repos/eroispaziali/my-test-project/contributors","subscribers_url":"https://api.github.com/repos/eroispaziali/my-test-project/subscribers","subscription_url":"https://api.github.com/repos/eroispaziali/my-test-project/subscription","commits_url":"https://api.github.com/repos/eroispaziali/my-test-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/eroispaziali/my-test-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/eroispaziali/my-test-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/eroispaziali/my-test-project/contents/{+path}","compare_url":"https://api.github.com/repos/eroispaziali/my-test-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eroispaziali/my-test-project/merges","archive_url":"https://api.github.com/repos/eroispaziali/my-test-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eroispaziali/my-test-project/downloads","issues_url":"https://api.github.com/repos/eroispaziali/my-test-project/issues{/number}","pulls_url":"https://api.github.com/repos/eroispaziali/my-test-project/pulls{/number}","milestones_url":"https://api.github.com/repos/eroispaziali/my-test-project/milestones{/number}","notifications_url":"https://api.github.com/repos/eroispaziali/my-test-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eroispaziali/my-test-project/labels{/name}","releases_url":"https://api.github.com/repos/eroispaziali/my-test-project/releases{/id}","deployments_url":"https://api.github.com/repos/eroispaziali/my-test-project/deployments","created_at":"2016-04-29T15:41:45Z","updated_at":"2016-04-29T15:41:45Z","pushed_at":"2016-04-29T16:00:10Z","git_url":"git://github.com/eroispaziali/my-test-project.git","ssh_url":"git@github.com:eroispaziali/my-test-project.git","clone_url":"https://github.com/eroispaziali/my-test-project.git","svn_url":"https://github.com/eroispaziali/my-test-project","homepage":null,"size":19,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"trunk"}},"_links":{"self":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1"},"html":{"href":"https://github.com/eroispaziali/my-test-project/pull/1"},"issue":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/issues/1"},"comments":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/eroispaziali/my-test-project/statuses/4161a2b4c905516cd0c690f694b04ae2e7c87569"}}}}