Пример #1
0
    def test_delete_by_item_id(self):
        self.assertEqual(ItemLink.query.count(), 0)

        linked_item = Item.create()

        link_1 = ItemLink(type=self.link_type, item_id=self.item_1.id, linked_id=linked_item.id)
        link_2 = ItemLink(type=self.link_type, item_id=self.item_2.id, linked_id=linked_item.id)
        db.session.add(link_1)
        db.session.add(link_2)
        db.session.flush()

        links = ItemLink.query.all()
        self.assertEqual(len(links), 2)
        self.assertIn(link_1, links)
        self.assertIn(link_2, links)

        ItemLink.delete_by_item_id(self.item_1.id)

        links = ItemLink.query.all()
        self.assertEqual(len(links), 1)
        self.assertNotIn(link_1, links)
        self.assertIn(link_2, links)

        ItemLink.delete_by_item_id(self.item_2.id)

        self.assertEqual(ItemLink.query.count(), 0)
Пример #2
0
    def test_delete_by_item_id(self):
        links = ItemLink.query.all()
        assert len(links) == 0

        link_type = 'test'
        item_1 = Item.create()
        item_2 = Item.create()
        linked_item = Item.create()

        link_1 = ItemLink(type=link_type, item_id=item_1.id, linked_id=linked_item.id)
        link_2 = ItemLink(type=link_type, item_id=item_2.id, linked_id=linked_item.id)
        db.session.add(link_1)
        db.session.add(link_2)
        db.session.flush()

        links = ItemLink.query.all()
        assert len(links) == 2
        assert link_1 in links and link_2 in links

        ItemLink.delete_by_item_id(item_1.id)

        links = ItemLink.query.all()
        assert len(links) == 1
        assert link_1 not in links and link_2 in links

        ItemLink.delete_by_item_id(item_2.id)

        links = ItemLink.query.all()
        assert len(links) == 0
Пример #3
0
    def test_get_by_item_id(self):
        item_link = ItemLink(type=self.link_type, item_id=self.item_1.id, linked_id=self.item_2.id)
        db.session.add(item_link)
        db.session.flush()

        results = ItemLink.get_by_item_id(self.item_1.id)
        self.assertListEqual(results, [item_link])

        missing_results = ItemLink.get_by_item_id(self.item_2.id)
        self.assertListEqual(missing_results, [])
Пример #4
0
    def test_find_or_insert(self):
        self.assertEqual(ItemLink.query.count(), 0)

        link_1 = ItemLink.find_or_insert(self.item_1.id, self.item_2.id, self.link_type)

        links = ItemLink.query.all()
        self.assertEqual(len(links), 1)
        self.assertEqual(links[0], link_1)

        link_2 = ItemLink.find_or_insert(self.item_1.id, self.item_2.id, self.link_type)

        links = ItemLink.query.all()
        self.assertEqual(len(links), 1)
        self.assertEqual(links[0], link_2)
        self.assertEqual(link_1, link_2)
Пример #5
0
    def test_find_or_insert(self):
        links = ItemLink.query.all()
        assert len(links) == 0

        link_type = 'test'
        test_item_1 = Item.create()
        test_item_2 = Item.create()

        link_1 = ItemLink.find_or_insert(test_item_1.id, test_item_2.id, link_type)

        links = ItemLink.query.all()
        assert len(links) == 1
        assert links[0] == link_1

        link_2 = ItemLink.find_or_insert(test_item_1.id, test_item_2.id, link_type)

        links = ItemLink.query.all()
        assert len(links) == 1
        assert links[0] == link_2
        assert link_1 == link_2
Пример #6
0
 def test_to_dict(self):
     item_link = ItemLink(type=self.link_type, item_id=self.item_1.id, linked_id=self.item_2.id)
     db.session.add(item_link)
     db.session.flush()
     self.assertDictEqual(item_link.to_dict(),
                          {'type': item_link.type, 'item_id': item_link.item_id, 'linked_id': item_link.linked_id})