3from gnucash
import Transaction, Book, Account, Split
12 self.
domain2 =
"gnc.engine.scrub"
13 level = G_LOG_LEVEL_CRITICAL
15 check1.log_domain = self.
domain1
16 check1.log_level = level
17 check1.msg =
"[xaccScrubUtilityGetOrMakeAccount()] No currency specified!"
18 test_add_error(check1)
20 check2.log_domain = self.
domain1
21 check2.log_level = level
22 check2.msg =
"[xaccTransScrubSplits()] Transaction doesn't have a currency!"
23 test_add_error(check2)
24 self.
hdlr1 = test_set_list_handler(self.
domain1, level,
None)
26 check3.log_domain =
"gnc.engine.scrub"
27 check3.log_level = level
28 check3.msg =
"[xaccScrubUtilityGetOrMakeAccount()] No currency specified!"
29 self.
hdlr2 = test_set_checked_handler(self.
domain2, level, check3)
30 BookSession.setUp(self)
42 test_clear_error_list ()
47 self.assertTrue( TRANS.Equal(self.
transtrans,
True,
False,
False,
False) )
49 SPLIT = Split(self.
book)
50 SPLIT.SetParent(TRANS)
51 self.assertTrue( self.
transtrans == SPLIT.GetParent() )
56 level = G_LOG_LEVEL_WARNING
58 check.log_domain = domain
59 check.log_level = level
60 check.msg =
"[xaccTransEqual()] GUIDs differ"
61 hdlr = test_set_checked_handler(domain, level, check)
65 self.assertFalse( TRANS.Equal(self.
transtrans,
True,
False,
False,
False) )
67 self.assertTrue( TRANS.Equal(self.
transtrans,
False,
False,
True,
False) )
69 g_log_remove_handler(domain, hdlr)
71 def test_setcurrency(self):
81 def test_rollback(self):
82 self.assertEqual(
'', self.
transtrans.GetDescription() )
86 self.assertEqual( DESC, self.
transtrans.GetDescription() )
88 self.assertEqual(
'', self.
transtrans.GetDescription() )
90 def test_findsplit(self):
91 ACCT = Account(self.
book)
94 SPLIT = self.
transtrans.FindSplitByAccount( ACCT )
95 self.assertTrue( SPLIT.Equal(self.
splitsplit,
True,
False,
False) )
97 def test_getsplit(self):
99 self.assertTrue( SPLIT.Equal(self.
splitsplit,
True,
False,
False) )
101 def test_getsplitindex(self):
104 def test_countsplits(self):
105 self.assertEqual( 1, self.
transtrans.CountSplits() )
107 def test_readonly(self):
108 self.assertEqual(
None, self.
transtrans.GetReadOnly() )
111 self.assertEqual( REASON, self.
transtrans.GetReadOnly() )
113 self.assertEqual(
None, self.
transtrans.GetReadOnly() )
117 self.assertEqual(
'', self.
transtrans.GetNum() )
119 self.assertEqual( NUM, self.
transtrans.GetNum() )
121 def test_description(self):
123 self.assertEqual(
'', self.
transtrans.GetDescription() )
125 self.assertEqual( DESCR, self.
transtrans.GetDescription() )
127 def test_notes(self):
128 NOTE =
'For dinner party'
129 self.assertEqual(
None, self.
transtrans.GetNotes() )
131 self.assertEqual( NOTE, self.
transtrans.GetNotes() )
134 ZERODATE=datetime(1970, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
135 DATE=datetime(2020, 2, 20, 10, 59, 0, tzinfo=timezone.utc)
136 self.assertEqual(ZERODATE, self.
transtrans.GetDate().astimezone(timezone.utc))
137 self.
transtrans.SetDate(DATE.day, DATE.month, DATE.year)
138 self.assertEqual(DATE, self.
transtrans.GetDate().astimezone(timezone.utc))