Esempio n. 1
0
    def test_remove_tags_is_working_properly_with_non_existing_tags(self):
        """testing if the remove_tags() method is working properly
        """
        # create some tags
        from stalker import db, Tag
        t1 = Tag(name='tag1')
        t2 = Tag(name='tag2')
        t3 = Tag(name='tag3')

        from stalker import Entity
        test_entity = Entity(name='Test Entity', tags=[t1, t2])
        db.DBSession.add_all([t1, t2, t3, test_entity])
        db.DBSession.commit()

        from stalker_pyramid.testing import DummyRequest, DummyMultiDict
        request = DummyRequest()
        request.method = 'DELETE'
        request.matchdict['id'] = test_entity.id

        request.params = DummyMultiDict()
        request.params['tag'] = ['tag3']
        request.POST = request.params

        entity_view = entity.EntityViews(request)
        entity_view.remove_tags()

        # now query entity tags
        test_entity = Entity.query.filter(Entity.id == test_entity.id).first()

        response = [t.name for t in test_entity.tags]
        expected = ['tag1', 'tag2']
        self.assertEqual(sorted(response), sorted(expected))
Esempio n. 2
0
    def test_update_tags_is_working_properly_with_post(self):
        """testing if the update_tags() view is working properly when the
        request.method is POST
        """
        # create some tags
        from stalker import db, Tag
        t1 = Tag(name='tag1')
        t2 = Tag(name='tag2')
        t3 = Tag(name='tag3')
        db.DBSession.add_all([t1, t2, t3])

        from stalker import Entity
        test_entity = Entity(name='Test Entity')
        db.DBSession.add(test_entity)
        db.DBSession.commit()

        from stalker_pyramid.testing import DummyRequest, DummyMultiDict
        request = DummyRequest()
        request.matchdict['id'] = test_entity.id

        request.method = 'POST'
        request.params = DummyMultiDict()
        request.params['tag'] = ['tag1', 'tag2']
        request.POST = request.params

        entity_view = entity.EntityViews(request)
        entity_view.update_tags()

        # now query entity tags
        test_entity = Entity.query.filter(Entity.id == test_entity.id).first()

        self.assertEqual(sorted([t.name for t in test_entity.tags]),
                         sorted(['tag1', 'tag2']))
Esempio n. 3
0
    def test_update_notes_is_working_properly_with_patch(self):
        """testing if update_notes is working properly when the request method
        is PATCH
        """
        from stalker import db, Entity, Note
        test_entity = Entity(name='Test Entity')
        db.DBSession.add(test_entity)

        # Note 1
        test_note1 = Note(content='Note 1')
        db.DBSession.add(test_note1)

        # Note 2
        test_note2 = Note(content='Note 2')
        db.DBSession.add(test_note2)

        # Note 3
        test_note3 = Note(content='Note 3')
        db.DBSession.add(test_note3)

        # Note 4
        test_note4 = Note(content='Note 4')
        db.DBSession.add(test_note4)

        # Note 5
        test_note5 = Note(content='Note 5')
        db.DBSession.add(test_note5)

        test_entity.notes = [test_note1, test_note2, test_note3]
        db.DBSession.commit()

        from stalker_pyramid.testing import DummyRequest, DummyMultiDict
        request = DummyRequest()
        request.matchdict['id'] = test_entity.id
        request.method = 'PATCH'

        # add the 4th and 5th notes
        request.params = DummyMultiDict()
        request.params['note_id'] = [test_note4.id, test_note5.id]
        request.POST = request.params

        entity_view = entity.EntityViews(request)
        entity_view.update_notes()

        test_entity = Entity.query.filter(Entity.id == test_entity.id).first()
        self.assertEqual(
            sorted(test_entity.notes),
            sorted(
                [test_note1, test_note2, test_note3, test_note4, test_note5]))