99 lines
3.3 KiB
Python
Executable File
99 lines
3.3 KiB
Python
Executable File
#!/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()
|