Esempio n. 1
0
    def test_search_by_title_provided(self):
        project.Provided().post('foo', 'bar', User(id=1))
        project.Provided().post('hello', 'world', User(id=1))
        search_term = 'foo'
        clg = catalog.Catalog(search_term, True)
        clg.apply()

        self.assertEqual(len(clg.projects), 1)
        self.assertEqual(clg.projects[0].title, 'foo')
Esempio n. 2
0
    def setUp(self):
        self.session = self.Session()
        self.fake_project_list = [
            'these', "don't", 'need', 'to', 'be', 'real', 'projects'
        ]
        self.fake_catalog = catalog.Catalog()
        self.fake_catalog.projects = self.fake_project_list
        self.user = User(id=1, can_post_provided=True, can_post_solicited=True)

        project.Provided().post('foo', 'bar', self.user)
        project.Provided().post('nobody expects', 'the spanish inquisition',
                                self.user)
        project.Provided().post('sperm whale', 'bowl of petunias', self.user)
Esempio n. 3
0
 def test_selected_project_lookup(self):                                     # tests to see that get method works
     s = project.Provided()
     s.post('cookie', 'biscuit', User(can_post_provided=True))
     
     s = project.Provided.get(1)
     self.assertIsNotNone(s)
     self.assertTrue(s.title == 'cookie' and s.description == 'biscuit')
    def setUp(self):
        self.session = self.Session(bind=self.engine)
        self.user_args = {
            'username': '******',
            'password': '******',
            'confirm_password': '******',
            'email': '*****@*****.**',
            'name': 'baz',
            'is_admin': True,
            'bio': 'test',
            'contact_info': '*****@*****.**'
        }

        self.user = User(id=1, can_post_provided=True, can_post_solicited=True)
        project.Provided().post('foo', 'barbarba', self.user)
        project.Provided().post('Awesome', 'Force of Gravity', self.user)
        project.Provided().post('Cannon', 'Electric Beast', self.user)
Esempio n. 5
0
    def test_apply_chooses_correct_table(self):
        project.Provided().post('foo', 'bar', self.user)
        project.Solicited().post('your', 'mom', self.user)
        clg = catalog.Catalog('', False)
        clg.apply()

        self.assertEqual(len(clg.projects), 1)
        self.assertEqual(clg.projects[0].title, 'your')
        self.assertEqual(clg.projects[0].description, 'mom')
Esempio n. 6
0
    def test_apply_many_projects(self):
        project.Provided().post('foo', 'bar', User(id=1))
        project.Provided().post('nobody expects', 'the spanish inquisition',
                                User(id=1))
        project.Provided().post('sperm whale', 'bowl of petunias', User(id=1))
        clg = catalog.Catalog('', True)
        clg.apply()

        self.assertEqual(len(clg.projects), 3)

        projects = []
        for proj in clg.projects:
            projects.append((proj.title, proj.description))

        self.assertTrue(('foo', 'bar') in projects)
        self.assertTrue(('nobody expects',
                         'the spanish inquisition') in projects)
        self.assertTrue(('sperm whale', 'bowl of petunias') in projects)
Esempio n. 7
0
    def test_can_be_modified_by(self):
        u = User(can_post_provided=True)
        self.session.add(u)
        self.session.commit()
        p = project.Provided()
        p.post('foo', 'bar', u)
        p = project.Provided.get(1)

        self.assertTrue(p.can_be_modified_by(User(id=1, is_admin=False)))
        self.assertTrue(p.can_be_modified_by(User(id=2, is_admin=True)))
        self.assertFalse(p.can_be_modified_by(User(id=3, is_admin=False)))
    def test_get_user_projects(self):
        user.User.sign_up(**self.user_args)
        self.user = user.User.log_in('foo', 'barbarba')

        new_user = User(id=2, can_post_provided=True, can_post_solicited=True)
        project.Provided().post('Test', 'Fire', new_user)
        project.Provided().post('Interesting', 'Facts', new_user)
        project.Provided().post('Fall', 'Food', new_user)

        clg = catalog.Catalog('', True)
        clg.apply()

        projects = self.user.get_user_projects()

        self.assertEqual(len(clg.projects), 6)
        self.assertEqual(len(projects), 3)

        self.assertEqual('foo', projects[0].title)
        self.assertEqual('Awesome', projects[1].title)
        self.assertEqual('Cannon', projects[2].title)
Esempio n. 9
0
    def test_project_post(self):
        p = project.Provided()
        p.post('foo', 'bar', User(can_post_provided=True))

        results = self.session.query(project.Provided).all()
        self.assertEqual(len(results), 1)

        self.assertEqual(results[0].id, p.id)
        self.assertEqual(results[0].title, 'foo')
        self.assertEqual(results[0].description, 'bar')
        self.assertEqual(results[0].date, p.date)
        self.assertEqual(results[0].archived, False)
        self.assertEqual(results[0].needsReview, False)
Esempio n. 10
0
    def test_post_permissions(self):
        pp = project.Provided()
        ps = project.Solicited()

        up = User(can_post_provided=True, can_post_solicited=False)
        us = User(can_post_provided=False, can_post_solicited=True)

        with self.assertRaises(PermissionError):
            ps.post('foo', 'bar', up)
        with self.assertRaises(PermissionError):
            pp.post('foo', 'bar', us)
        
        pp.post('foo', 'bar', up)
        ps.post('foo', 'bar', us)

        self.assertEqual(len(self.session.query(project.Provided).all()), 1)
        self.assertEqual(len(self.session.query(project.Solicited).all()), 1)
Esempio n. 11
0
    def test_edit(self):
        u = User(can_post_provided=True)
        self.session.add(u)
        self.session.commit()
        project.Provided().post('foo', 'bar', u)
        p = project.Provided.get(1)
        p.edit(u, description='baz', this_isnt_real=4)

        p = project.Provided.get(1)
        self.assertEqual(p.title, 'foo')
        self.assertEqual(p.description, 'baz')

        with self.assertRaises(AttributeError):
            x = p.this_isnt_real

        with self.assertRaises(AttributeError):
            p.edit(u, id=3)

        u = User(can_post_provided=True, is_admin=False)
        self.session.add(u)
        self.session.commit()
        with self.assertRaises(PermissionError):
            p.edit(u, title='bar')