ProjectColumn.py
1 # ########################## Copyrights and license ############################ 2 # # 3 # This file is part of PyGithub. # 4 # http://pygithub.github.io/PyGithub/v1/index.html # 5 # # 6 # PyGithub is free software: you can redistribute it and/or modify it under # 7 # the terms of the GNU Lesser General Public License as published by the Free # 8 # Software Foundation, either version 3 of the License, or (at your option) # 9 # any later version. # 10 # # 11 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # 12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # 13 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # 14 # details. # 15 # # 16 # You should have received a copy of the GNU Lesser General Public License # 17 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>. # 18 # # 19 # ############################################################################## 20 21 from datetime import datetime, timezone 22 23 from . import Framework 24 25 26 class ProjectColumn(Framework.TestCase): 27 def setUp(self): 28 super().setUp() 29 self.get_project_column = self.g.get_project_column(8700460) 30 self.move_project_column = self.g.get_project_column(8748065) 31 32 def testGetProjectColumn(self): 33 self.assertEqual(self.get_project_column.id, 8700460) 34 self.assertEqual(self.get_project_column.name, "c1") 35 self.assertEqual( 36 self.get_project_column.cards_url, 37 "https://api.github.com/projects/columns/8700460/cards", 38 ) 39 self.assertEqual(self.get_project_column.node_id, "MDEzOlByb2plY3RDb2x1bW44NzAwNDYw") 40 self.assertEqual( 41 self.get_project_column.project_url, 42 "https://api.github.com/projects/4294766", 43 ) 44 self.assertEqual( 45 self.get_project_column.url, 46 "https://api.github.com/projects/columns/8700460", 47 ) 48 self.assertEqual( 49 self.get_project_column.created_at, 50 datetime(2020, 4, 13, 20, 29, 53, tzinfo=timezone.utc), 51 ) 52 self.assertEqual( 53 self.get_project_column.updated_at, 54 datetime(2020, 4, 14, 18, 9, 38, tzinfo=timezone.utc), 55 ) 56 57 def testGetAllCards(self): 58 cards = self.get_project_column.get_cards(archived_state="all") 59 self.assertEqual(cards.totalCount, 3) 60 self.assertEqual(cards[0].id, 36285184) 61 self.assertEqual(cards[0].note, "Note3") 62 self.assertEqual(cards[1].id, 36281526) 63 self.assertEqual(cards[1].note, "Note2") 64 self.assertEqual(cards[2].id, 36281516) 65 self.assertEqual(cards[2].note, "Note1") 66 67 def testGetArchivedCards(self): 68 cards = self.get_project_column.get_cards(archived_state="archived") 69 self.assertEqual(cards.totalCount, 1) 70 self.assertEqual(cards[0].id, 36281516) 71 self.assertEqual(cards[0].note, "Note1") 72 73 def testGetNotArchivedCards(self): 74 cards = self.get_project_column.get_cards(archived_state="not_archived") 75 self.assertEqual(cards.totalCount, 2) 76 self.assertEqual(cards[0].id, 36285184) 77 self.assertEqual(cards[0].note, "Note3") 78 self.assertEqual(cards[1].id, 36281526) 79 self.assertEqual(cards[1].note, "Note2") 80 81 def testGetCards(self): 82 cards = self.get_project_column.get_cards() 83 self.assertEqual(cards.totalCount, 2) 84 self.assertEqual(cards[0].id, 36285184) 85 self.assertEqual(cards[0].note, "Note3") 86 self.assertEqual(cards[1].id, 36281526) 87 self.assertEqual(cards[1].note, "Note2") 88 89 def testCreateCard(self): 90 new_card = self.get_project_column.create_card(note="NewCard") 91 self.assertEqual(new_card.id, 36290228) 92 self.assertEqual(new_card.note, "NewCard") 93 94 def testDelete(self): 95 project_column = self.g.get_project_column(8747987) 96 self.assertTrue(project_column.delete()) 97 98 def testEdit(self): 99 self.move_project_column.edit("newTestColumn") 100 self.assertEqual(self.move_project_column.id, 8748065) 101 self.assertEqual(self.move_project_column.name, "newTestColumn") 102 103 def testMoveFirst(self): 104 self.assertTrue(self.move_project_column.move(position="first")) 105 106 def testMoveLast(self): 107 self.assertTrue(self.move_project_column.move(position="last")) 108 109 def testMoveAfter(self): 110 self.assertTrue(self.move_project_column.move(position="after:8700460"))