#!/usr/bin/env python import unittest import util class TestDecks(unittest.TestCase): def runTest(self): # deckNames (part 1) deckNames = util.invoke('deckNames') self.assertIn('Default', deckNames) # deckNamesAndIds result = util.invoke('deckNamesAndIds') self.assertIn('Default', result) self.assertEqual(result['Default'], 1) # createDeck util.invoke('createDeck', deck='test1') # deckNames (part 2) deckNames = util.invoke('deckNames') self.assertIn('test1', deckNames) # changeDeck note = {'deckName': 'test1', 'modelName': 'Basic', 'fields': {'Front': 'front', 'Back': 'back'}, 'tags': ['tag']} noteId = util.invoke('addNote', note=note) cardIds = util.invoke('findCards', query='deck:test1') util.invoke('changeDeck', cards=cardIds, deck='test2') # deckNames (part 3) deckNames = util.invoke('deckNames') self.assertIn('test2', deckNames) # deleteDecks util.invoke('deleteDecks', decks=['test1', 'test2'], cardsToo=True) # deckNames (part 4) deckNames = util.invoke('deckNames') self.assertNotIn('test1', deckNames) self.assertNotIn('test2', deckNames) # getDeckConfig deckConfig = util.invoke('getDeckConfig', deck='Default') self.assertEqual('Default', deckConfig['name']) # saveDeckConfig deckConfig = util.invoke('saveDeckConfig', config=deckConfig) # setDeckConfigId setDeckConfigId = util.invoke('setDeckConfigId', decks=['Default'], configId=1) self.assertTrue(setDeckConfigId) # cloneDeckConfigId (part 1) deckConfigId = util.invoke('cloneDeckConfigId', cloneFrom=1, name='test') self.assertTrue(deckConfigId) # removeDeckConfigId (part 1) removedDeckConfigId = util.invoke('removeDeckConfigId', configId=deckConfigId) self.assertTrue(removedDeckConfigId) # removeDeckConfigId (part 2) removedDeckConfigId = util.invoke('removeDeckConfigId', configId=deckConfigId) self.assertFalse(removedDeckConfigId) # cloneDeckConfigId (part 2) deckConfigId = util.invoke('cloneDeckConfigId', cloneFrom=deckConfigId, name='test') self.assertFalse(deckConfigId) # updateCompleteDeck util.invoke("updateCompleteDeck", data={ "deck": "test3", "cards": { "12": { "id": 12, "nid": 23, "ord": 0, "type": 0, "queue": 0, "due": 1186031, "factor": 0, "ivl": 0, "reps": 0, "lapses": 0, "left": 0 } }, "notes": { "23": { "id": 23, "mid": 34, "fields": ["frontValue", "backValue"], "tags": ["aTag"] } }, "models": { "34": { "id": 34, "fields": ["Front", "Back"], "templateNames": ["Card 1"], "name": "anotherModel", } } }) deckNames = util.invoke("deckNames") self.assertIn("test3", deckNames) cardIDs = util.invoke('findCards', query='deck:test3') self.assertEqual(len(cardIDs), 1) self.assertEqual(cardIDs[0], 12) if __name__ == '__main__': unittest.main()