Exemple #1
0
 def test_read_stock_2(self):
     database.create_tables(self.db)
     with open("index2.html", encoding='utf-8') as f:
         main.read_stock(self.db, f)
     cursor = self.db.cursor()
     cursor.execute("SELECT * FROM products")
     result = cursor.fetchall()
     self.assertEqual(len(result), 6)
     self.assertSequenceEqual((4, "Zipped Jacket", 95, 56.73, "$"), result[4])
     self.assertSequenceEqual((5, "Silk Summer Top", 63, 36.56,'£'), result[5])
Exemple #2
0
 def test_read_stock_1(self):
     database.create_tables(self.db)
     with open("index.html", encoding='utf-8') as f:
         main.read_stock(self.db, f)
     cursor = self.db.cursor()
     cursor.execute("SELECT * FROM products")
     result = cursor.fetchall()
     self.assertEqual(len(result), 20)
     self.assertSequenceEqual((2, "Yellow Wool Jumper", 81, 175.31, "$"), result[2])
     self.assertSequenceEqual((6, "Dark Denim Top", 78, 90.31, "$"), result[6])
    def test_report_1(self):
        database.create_tables(self.db)
        my_relations = """product,location
0,0
1,1
2,0"""
        my_locations = """id,number,street,city,state
0,6,"John Rd",Bourke,NSW
1,3,"Macquarie St",Melbourne,VIC"""
        main.read_relations(self.db, StringIO(my_relations))
        main.read_locations(self.db, StringIO(my_locations))
        with open("index3.html") as f:
            main.read_stock(self.db, f)
        with StringIO() as f:
            main.report(self.db, f)
            output = f.getvalue()

        # print(output)
        reader = csv.DictReader(StringIO(output))
        records = [r for r in reader]
        self.assertEqual(3, len(records))
        self.assertDictEqual(
            {
                'description': 'Zipped Jacket',
                'price': '56.73',
                'currency': '£',
                'stock': '95',
                'location': "3, Macquarie St, Melbourne, VIC"
            }, dict(records[0]))
        self.assertDictEqual(
            {
                'description': 'Soft Winter Jacket',
                'price': '111.23',
                'currency': '$',
                'stock': '38',
                'location': "6, John Rd, Bourke, NSW"
            }, dict(records[1]))
        self.assertDictEqual(
            {
                'description': 'Navy Sports Jacket',
                'price': '149.05',
                'currency': '$',
                'stock': '25',
                'location': "6, John Rd, Bourke, NSW"
            }, dict(records[2]))