diff --git a/tests/test_cards.py b/tests/test_cards.py new file mode 100755 index 0000000..372002b --- /dev/null +++ b/tests/test_cards.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +import unittest +import util + + +class TestCards(unittest.TestCase): + def setUp(self): + util.invoke('createDeck', deck='test') + note = {'deckName': 'test', 'modelName': 'Basic', 'fields': {'Front': 'front1', 'Back': 'back1'}, 'tags': ['tag1']} + self.noteId = util.invoke('addNote', note=note) + + + def tearDown(self): + util.invoke('deleteDecks', decks=['test'], cardsToo=True) + + + def runTest(self): + # findCards + cardIds = util.invoke('findCards', query='deck:test') + self.assertEqual(len(cardIds), 1) + + # suspend + util.invoke('suspend', cards=cardIds) + + # areSuspended (part 1) + suspendedStates = util.invoke('areSuspended', cards=cardIds) + self.assertEqual(len(cardIds), len(suspendedStates)) + self.assertNotIn(False, suspendedStates) + + # unsuspend + util.invoke('unsuspend', cards=cardIds) + + # areSuspended (part 2) + suspendedStates = util.invoke('areSuspended', cards=cardIds) + self.assertEqual(len(cardIds), len(suspendedStates)) + self.assertNotIn(True, suspendedStates) + + # areDue + dueStates = util.invoke('areDue', cards=cardIds) + self.assertEqual(len(cardIds), len(dueStates)) + self.assertNotIn(False, dueStates) + + # getIntervals + util.invoke('getIntervals', cards=cardIds, complete=True) + util.invoke('getIntervals', cards=cardIds, complete=False) + + # cardsToNotes + noteIds = util.invoke('cardsToNotes', cards=cardIds) + self.assertEqual(len(noteIds), len(cardIds)) + self.assertIn(self.noteId, noteIds) + + # cardsInfo + cardsInfo = util.invoke('cardsInfo', cards=cardIds) + self.assertEqual(len(cardsInfo), len(cardIds)) + for i, cardInfo in enumerate(cardsInfo): + self.assertEqual(cardInfo['cardId'], cardIds[i]) + + +if __name__ == '__main__': + unittest.main()