def test_userdata(self): userdata = UserData.remember(1, 1, 1) self.assertEqual(userdata, True) userdata = UserData.remember(1, 1, 1) self.assertEqual(userdata, None) userdata = UserData.forget(1, 1, 1) self.assertEqual(userdata, True) userdata = UserData.forget(2, 1, 1) self.assertEqual(userdata, None) userdata = UserData.remembered(1, 1, 1) self.assertEqual(userdata, None) userdata = UserData.remembered(2, 1, 1) self.assertEqual(userdata, True) userword = len(list(UserData.user_word(1, 1))) self.assertEqual(userword, 2) userword_count = len(UserData.user_word_count(1, 1)) self.assertEqual(userword_count, 3) recent_day = len(list(UserData.recent_days(1, 1))) self.assertEqual(recent_day, 1) review = UserData.review_word(1, 1) self.assertEqual(review, None)
def practice(): data = request.get_json() if not data: return {'message': 'You must provide JSON data.'}, 400 errors = {} if not 'word' in data or not data.get('word', None): errors['word'] = 'Error word id.' if not 'vtype' in data or not data.get('vtype', None): errors['vtype'] = 'Error vocab type id.' if not 'status' in data or not data.get('status', None): errors['status'] = 'Error status.' if errors: return jsonify({'message': errors}), 400 userdata = {'uid': g.user.uid, 'wid': data['word'], 'tid': data['vtype']} statistic = DailyStatisticCache() if data['status'] == 1: if UserData.remember(**userdata): statistic.increase(1) elif data['status'] == 2: if UserData.forget(**userdata): statistic.increase(2) elif data['status'] == 3: if UserData.remembered(**userdata): statistic.increase(1) else: return {'message': 'Error status.'}, 400 return jsonify(statistic.get())