def __test_add():
    repo = ProductRepository()
    assert len(repo) == 0
    repo.add(Product(2, "Aspirin", 3))
    assert len(repo) == 1
    assert Product(2, "Aspirin", 3) in repo
    repo.add(Product(3, "Vitamin", 3))
    assert len(repo) == 2
    assert Product(3, "Vitamin", 3) in repo
def __test_add():
    repo = CartRepository()
    repo.add(Product(2, "Aspirin", 3), 3)
    assert ("Aspirin", 3) in repo.get_all()
    repo.add(Product(2, "Aspirin", 3), 2)
    assert ("Aspirin", 5) in repo.get_all()

    repo.add(Product(4, "Vitamin", 3), 4)
    assert ("Aspirin", 5) in repo.get_all()
    assert ("Vitamin", 4) in repo.get_all()
def __test_add_to_cart():
    repo = ProductRepository()
    repo.add(Product(2, "Aspirin", 3))
    repo.add(Product(3, "VitaminC", 3))
    repo.add(Product(4, "VitaminD", 3))
    pharmCtrl = PharmacyController(repo)
    pharmCtrl.add_to_cart("Aspirin", 3)
    assert pharmCtrl.amount_cart() == 3 * 3
    pharmCtrl.add_to_cart("Aspirin", 3)
    pharmCtrl.add_to_cart("VitaminC", 4)
    assert pharmCtrl.amount_cart() == 3 * 6 + 4 * 3
def __test_find_by_pattern():
    repo = ProductRepository()
    repo.add(Product(2, "Aspirin", 3))
    repo.add(Product(3, "VitaminC", 3))
    repo.add(Product(4, "VitaminD", 3))
    pharmCtrl = PharmacyController(repo)
    assert pharmCtrl.find_by_name("Aspirin") == Product(2, "Aspirin", 3)
    assert pharmCtrl.find_by_name("VitaminC") == Product(3, "VitaminC", 3)
    try:
        pharmCtrl.find_by_name("AAA")
        assert False
    except ValueError:
        assert True
def __test_find_by_pattern():
    repo = ProductRepository()
    repo.add(Product(2, "Aspirin", 3))
    repo.add(Product(3, "VitaminC", 3))
    repo.add(Product(4, "VitaminD", 3))
    fr = repo.find_by_pattern("Aspirin")
    assert len(fr) == 1
    assert Product(2, "Aspirin", 3) in fr
    fr = repo.find_by_pattern("Vit")
    assert len(fr) == 2
    assert Product(3, "VitaminC", 3) in fr
    assert Product(4, "VitaminD", 3) in fr
def __test_find_by_name():
    repo = ProductRepository()
    repo.add(Product(2, "Aspirin", 3))
    repo.add(Product(3, "VitaminC", 3))
    repo.add(Product(4, "VitaminD", 3))
    pharmCtrl = PharmacyController(repo)
    fr = pharmCtrl.find_by_pattern("Asp")
    assert len(fr) == 1
    assert Product(2, "Aspirin", 3) in fr
    fr = pharmCtrl.find_by_pattern("Vit")
    assert len(fr) == 2
    assert Product(3, "VitaminC", 3) in fr
    assert Product(4, "VitaminD", 3) in fr
    def __load_from_file(self):
        '''
        Loads products from a file.
        :return: products are loaded from the file
        '''
        try:
            f = open(self.__filename, "r")
        except IOError:
            return

        for line in f:
            line = line.strip()
            attributes = line.split(";")

            if len(attributes) != 3:
                continue

            attributes[0] = int(attributes[0])
            attributes[2] = int(attributes[2])

            product = Product(attributes[0], attributes[1], attributes[2])
            self.add(product)
 def send_request(self):
     requestDto = ProductListDto.GetRequest(
         token=self.productListScreen.parent.token)
     try:
         response = json.loads(
             self.connectionManager.send_request(body=requestDto.toJSON(),
                                                 method='GET'))
         product_list = response['data']['product_list']
         temp_list = []
         for product_json in product_list:
             product = Product(
                 id=str(product_json['product_id']),
                 name=str(product_json['product_name']),
                 description=str(product_json['product_description']),
                 buy=str(format(float(product_json['buy_price']), '.3f')),
                 sell=str(format(float(product_json['sell_price']), '.3f')),
                 quantity=int(product_json['product_quantity']),
                 product_type=str(product_json['type']))
             temp_list.append(product)
         self.productListViewModel.set_product_list(product_list=temp_list)
         self.set_mdList()
     except (httplib.HTTPException, socket.error) as ex:
         print 'products request error {0}'.format(ex)
Ejemplo n.º 9
0
from tinydb import TinyDB
from UtilitiesProvider import UtilitiesProvider
from domain.Product import Product
from domain.User import User

UtilitiesProvider.create()
repo = UtilitiesProvider.repo
userRepo = UtilitiesProvider.userRepo

repo.clear()

images = ['1610111869636.jpeg', '1610112228568.jpeg', '1610112264625.jpeg']

for i in range(3):
    product = Product(i.__str__(), "Lapte" + i.__str__(), "10", "200",
                      images[i], 44.87549767121354, 24.841699598127455)
    product.username = "******"
    repo.addProduct(product)

userRepo.addUser(User("a", "a"))
userRepo.addUser(User("b", "b"))
Ejemplo n.º 10
0
 def __init__(self, id=None, product=Product(), amount=None):
     self.id = id
     self.product = product
     self.amount = amount