def test_findOne(self):
        BaseModel.FIELDS = {
            0: 'guid',
            1: 'name',
            2: 'hats'
        }
        result = BaseModel.findOne({'guid': 'a1'})

        self.assertEqual(result.guid, 'a1')
        self.assertEqual(result.name, 'lol')
        self.assertTrue(result.hats)
    def test_save(self):
        BaseModel.FIELDS = {
            0: 'guid',
            1: 'name',
            2: 'hats'
        }
        data = {
            'guid': '123abc',
            'name': 'banana',
            'hats': True
        }
        model = BaseModel.create(data)

        model.name = 'notabanana'
        model.hats = False

        model.save()

        loaded_model = BaseModel.findOne({'guid': '123abc'})

        self.assertEqual(model.guid, loaded_model.guid)
        self.assertEqual(model.name, loaded_model.name)
        self.assertEqual(model.hats, loaded_model.hats)
 def test_findOne_empty(self):
     result = BaseModel.findOne({'guid': 'notreal'})
     self.assertEqual(result, None)