maidstone-hackspace/tests/test_add_badge.py

61 lines
2.2 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys
import unittest
from collections import defaultdict
from website.config import settings
from website.data.badges import create_badge, assign_badge, remove_badge, fetch_badge, fetch_user_badges_grouped
from scaffold.core.data.database import db
from tests.base import TestBase
import unittest
class TestBadges(TestBase):
def setUp(self):
super(TestBadges, self).setUp()
create_badge().execute({'name': 'member'})
create_badge().execute({'name': 'backer'})
create_badge().execute({'name': 'teacher'})
create_badge().execute({'name': 'chairman'})
create_badge().execute({'name': 'treasurer'})
create_badge().execute({'name': 'secretary'})
assign_badge().execute({'badge_id': '1', 'user_id': '1' })
assign_badge().execute({'badge_id': '2', 'user_id': '1' })
assign_badge().execute({'badge_id': '3', 'user_id': '1' })
def testFetchUserBadges(self):
self.assertTrue([a for a in fetch_badge({'badge_id': '1', 'user_id': '1' })])
def test_badge_grouping(self):
self.assertEquals(fetch_user_badges_grouped(),{1: [1, 2, 3]} )
def testSelectingBadges(self):
# this record should exist
self.assertTrue([a for a in fetch_badge({'badge_id': '1', 'user_id': '1' })])
# these don't exist
self.assertFalse([a for a in fetch_badge({'badge_id': '10', 'user_id': '10' })])
self.assertFalse([a for a in fetch_badge({'user_id': '10'})])
def assignBadgeToUser(self):
assign_badge().execute({'badge_id': '1', 'user_id': '1' })
assign_badge().execute({'badge_id': '1', 'user_id': '1' })
assign_badge().execute({'badge_id': '2', 'user_id': '1' })
assign_badge().execute({'badge_id': '3', 'user_id': '1' })
def testAddingBadges(self):
create_badge().execute({'name': 'badget'})
self.assertEquals(fetch_user_badges_grouped(),{1: [1, 2, 3]} )
def testRemoveBadges(self):
remove_badge().execute({'id': '1' })
remove_badge().execute({'id': '2' })
remove_badge().execute({'id': '3' })
if __name__ == '__main__':
unittest.main(buffer=False)