@@ -1550,3 +1550,174 @@ def test_get_editorials_failure_page_too_high(self, mock_requests):
1550
1550
)
1551
1551
1552
1552
self .assertDictEqual (response , expected_response )
1553
+
1554
+ @patch ("loading_api_wrapper.api.LoadingApiWrapper._authenticate" )
1555
+ @patch ("loading_api_wrapper.api.requests" )
1556
+ def test_edit_post_success (self , mock_requests , mock_authenticate ):
1557
+ status_code = 200
1558
+ expected_response = {
1559
+ "id" : "000000000000000000000000" ,
1560
+ "body" : "updated message" ,
1561
+ "postType" : "regular" ,
1562
+ "createdAt" : "2022-01-01T00:00:00.000Z" ,
1563
+ "updatedAt" : "2022-01-02T00:00:00.000Z" ,
1564
+ "parentId" : "222222222222222222222222" ,
1565
+ "userId" : "111111111111111111111111" ,
1566
+ "replies" : 0 ,
1567
+ "edits" : 1 ,
1568
+ "lastEdit" : "2022-01-02T00:00:00.000Z" ,
1569
+ }
1570
+
1571
+ mock_response = MagicMock ()
1572
+ mock_response .status_code = status_code
1573
+ mock_response .json .return_value = expected_response
1574
+ mock_requests .patch .return_value = mock_response
1575
+ mock_authenticate .return_value = {"code" : 200 , "cookies" : self .cookie_jar }
1576
+
1577
+ api = LoadingApiWrapper ("test@email.com" , "password" )
1578
+ response = api .edit_post (
1579
+ post_id = "000000000000000000000000" ,
1580
+ message = "updated message" ,
1581
+ )
1582
+
1583
+ self .assertIsNotNone (api ._cookies )
1584
+ self .assertEqual (api ._cookies , self .cookie_jar )
1585
+ self .assertEqual (response .get ("code" ), 200 )
1586
+ self .assertDictEqual (response .get ("data" ), expected_response )
1587
+
1588
+ @patch ("loading_api_wrapper.api.requests" )
1589
+ def test_edit_post_failure_no_auth_token (self , mock_requests ):
1590
+ status_code = 401
1591
+ expected_response = {"code" : status_code , "message" : "No auth token" }
1592
+
1593
+ mock_response = MagicMock ()
1594
+ mock_response .status_code = status_code
1595
+ mock_response .json .return_value = expected_response
1596
+ mock_requests .patch .return_value = mock_response
1597
+
1598
+ api = LoadingApiWrapper ()
1599
+ response = api .edit_post (post_id = "post_id_to_edit" , message = "updated message" )
1600
+
1601
+ self .assertEqual (response , expected_response )
1602
+
1603
+ @patch ("loading_api_wrapper.api.requests" )
1604
+ def test_edit_post_failure_post_does_not_exist (self , mock_requests ):
1605
+ status_code = 404
1606
+ expected_response = {"code" : status_code , "message" : "Post does not exist" }
1607
+
1608
+ mock_response = MagicMock ()
1609
+ mock_response .status_code = status_code
1610
+ mock_response .json .return_value = expected_response
1611
+ mock_requests .patch .return_value = mock_response
1612
+
1613
+ api = LoadingApiWrapper ()
1614
+ response = api .edit_post (
1615
+ post_id = "non_existing_post_id" , message = "new updated message"
1616
+ )
1617
+
1618
+ self .assertEqual (response , expected_response )
1619
+
1620
+ @patch ("loading_api_wrapper.api.LoadingApiWrapper._authenticate" )
1621
+ def test_edit_post_failure_empty_thread_id (self , mock_authenticate ):
1622
+ expected_response = {
1623
+ "code" : 400 ,
1624
+ "message" : '"message" is not allowed to be empty' ,
1625
+ }
1626
+
1627
+ mock_authenticate .return_value = {"code" : 200 , "cookies" : self .cookie_jar }
1628
+
1629
+ api = LoadingApiWrapper ("test@email.com" , "password" )
1630
+ response = api .edit_post (post_id = "existing_post_id" , message = "" )
1631
+
1632
+ self .assertIsNotNone (api ._cookies )
1633
+ self .assertEqual (api ._cookies , self .cookie_jar )
1634
+ self .assertEqual (response , expected_response )
1635
+
1636
+ @patch ("loading_api_wrapper.api.LoadingApiWrapper._authenticate" )
1637
+ def test_create_post_failure_empty_thread_id (self , mock_authenticate ):
1638
+ expected_response = {
1639
+ "code" : 400 ,
1640
+ "message" : '"thread_id" is not allowed to be empty' ,
1641
+ }
1642
+
1643
+ mock_authenticate .return_value = {"code" : 200 , "cookies" : self .cookie_jar }
1644
+
1645
+ api = LoadingApiWrapper ("test@email.com" , "password" )
1646
+ response = api .create_post (thread_id = "" , message = "New message" )
1647
+
1648
+ self .assertIsNotNone (api ._cookies )
1649
+ self .assertEqual (api ._cookies , self .cookie_jar )
1650
+ self .assertEqual (response , expected_response )
1651
+
1652
+ @patch ("loading_api_wrapper.api.LoadingApiWrapper._authenticate" )
1653
+ @patch ("loading_api_wrapper.api.requests" )
1654
+ def test_create_post_failure_thread_id_does_not_exist (
1655
+ self , mock_requests , mock_authenticate
1656
+ ):
1657
+ status_code = 404
1658
+ expected_response = {"code" : status_code , "message" : "Post does not exist" }
1659
+
1660
+ mock_response = MagicMock ()
1661
+ mock_response .status_code = status_code
1662
+ mock_response .json .return_value = expected_response
1663
+ mock_requests .post .return_value = mock_response
1664
+ mock_authenticate .return_value = {"code" : 200 , "cookies" : self .cookie_jar }
1665
+
1666
+ api = LoadingApiWrapper ("test@email.com" , "password" )
1667
+ response = api .create_post (
1668
+ thread_id = "non_existing_thread_id" ,
1669
+ message = "New message" ,
1670
+ )
1671
+
1672
+ self .assertIsNotNone (api ._cookies )
1673
+ self .assertEqual (api ._cookies , self .cookie_jar )
1674
+ self .assertEqual (response , expected_response )
1675
+
1676
+ @patch ("loading_api_wrapper.api.requests" )
1677
+ def test_create_post_failure_no_auth_token (self , mock_requests ):
1678
+ status_code = 401
1679
+ expected_response = {"code" : status_code , "message" : "No auth token" }
1680
+
1681
+ mock_response = MagicMock ()
1682
+ mock_response .status_code = status_code
1683
+ mock_response .json .return_value = expected_response
1684
+ mock_requests .post .return_value = mock_response
1685
+
1686
+ api = LoadingApiWrapper ()
1687
+ response = api .create_post (
1688
+ thread_id = "existing_thread_id" , message = "New message"
1689
+ )
1690
+
1691
+ self .assertEqual (response , expected_response )
1692
+
1693
+ @patch ("loading_api_wrapper.api.LoadingApiWrapper._authenticate" )
1694
+ @patch ("loading_api_wrapper.api.requests" )
1695
+ def test_create_post_success (self , mock_requests , mock_authenticate ):
1696
+ status_code = 201
1697
+ expected_response = {
1698
+ "id" : "000000000000000000000000" ,
1699
+ "body" : "New message!" ,
1700
+ "postType" : "regular" ,
1701
+ "createdAt" : "2022-01-01T00:00:00.000Z" ,
1702
+ "updatedAt" : "2022-01-02T00:00:00.000Z" ,
1703
+ "parentId" : "111111111111111111111111" ,
1704
+ "userId" : "222222222222222222222222" ,
1705
+ "replies" : 0 ,
1706
+ }
1707
+
1708
+ mock_response = MagicMock ()
1709
+ mock_response .status_code = status_code
1710
+ mock_response .json .return_value = expected_response
1711
+ mock_requests .post .return_value = mock_response
1712
+ mock_authenticate .return_value = {"code" : 200 , "cookies" : self .cookie_jar }
1713
+
1714
+ api = LoadingApiWrapper ("test@email.com" , "password" )
1715
+ response = api .create_post (
1716
+ thread_id = "111111111111111111111111" ,
1717
+ message = "New message!" ,
1718
+ )
1719
+
1720
+ self .assertIsNotNone (api ._cookies )
1721
+ self .assertEqual (api ._cookies , self .cookie_jar )
1722
+ self .assertEqual (response .get ("code" ), 201 )
1723
+ self .assertEqual (response .get ("data" ), expected_response )
0 commit comments