class StockSeed:
    def __init__(self, driver):
        self.driver = driver
        self.html = HtmlProxy(self.driver)
        self.menu = MainMenuProxy(self.driver)
        self.stockAssert = StockAssert(self.html, self.driver)

    def createRawMaterial(self, materialName, me, wareHouse, module=False):
        if module:
            self.menu.openStocks()

        self.html.clickElement('Új nyersanyag felvitele', 'a')
        self.html.switchFrame('iframe')

        self.html.fillInput('Nyersanyag neve', materialName)
        self.html.clickDropdown('ME', me)
        self.html.clickDropdown('Raktár', wareHouse)
        self.html.clickElement('Rögzít')

        self.html.switchFrame()
        self.html.refresh()
        self.stockAssert.assertMaterialExist(materialName, 'Raktárkészlet')

    def createRawMaterialWithOpening(self,
                                     testName,
                                     grossPrice,
                                     openingQty,
                                     whName,
                                     me='liter',
                                     module=False):
        if module:
            self.menu.openStocks()
        self.html.clickElement('Új nyersanyag felvitele', 'a')
        self.html.switchFrame('iframe')

        self.html.fillInput('Nyersanyag neve', testName)
        self.html.fillInput('Bruttó beszerzési egységár', grossPrice)
        self.html.clickDropdown('ME', me)
        self.html.fillInput('Nyitó mennyiség', openingQty)
        self.html.clickDropdown('Raktár', whName)
        self.html.clickElement('Rögzít')
        self.html.switchFrame()

    def deleteRawMaterial(self, name, module=False):
        if module:
            self.menu.openStocks()

        self.html.wait(2)
        self.html.search(name, 'Raktárkészlet')
        self.html.wait(2)
        self.html.clickTableDropdown(name, 'Törlés', 'Raktárkészlet')
        self.html.wait(2)
        self.html.clickElement('Igen')
        self.html.wait(2)
        self.html.search('', 'Raktárkészlet')
        self.html.wait(2)

    def createWarehouse(self, warehouseName, module=False, tab=False):

        if module:
            self.menu.openStocks()
            self.html.clickElement('Raktárak', 'a')
        elif tab:
            self.html.clickElement('Raktárak', 'a')

        self.html.clickElement('Új raktár felvitele', 'a')
        self.html.switchFrame('iframe')

        self.html.fillInput('Raktár neve', warehouseName)
        self.html.clickElement('Rögzít')
        self.html.switchFrame()

    def deleteWarehouse(self, warehouseName, module=False, tab=False):

        if module:
            self.menu.openStocks()
            self.html.clickElement('Raktárak', 'a')
        elif tab:
            self.html.clickElement('Raktárak', 'a')

        self.html.refresh()
        self.html.wait(2)
        self.html.search(warehouseName, 'Raktárak')
        self.html.wait(2)
        currWindow = self.html.getElement('tabs-3',
                                          'div',
                                          options=Options(htmlAttribute='id'))
        # itt azert adjuk at a currWindow-t, hogy az adott oldalon keressen a td-k kozott
        self.html.clickElement(warehouseName, 'td',
                               Options(following='a', element=currWindow))
        self.html.wait(3)
        self.html.clickElement('Igen')
        self.html.wait(2)
        self.html.search('', 'Raktárak')
        self.html.wait(2)
Exemple #2
0
class StockAssert(unittest.TestCase):
    def __init__(self, htmlProxy, driver):
        super().__init__()
        self.html = htmlProxy
        self.menu = MainMenuProxy(driver)
        self.cg = cg()

    def assertWarehouseExist(self, name, tab):
        self.assertTrue(
            self.html.getElementInTable(name, 'storages', tab).is_displayed())

    def assertWarehouseNotExist(self, name, tab):
        with self.assertRaises(NoSuchElementException):
            self.html.getElementInTable(name, 'storages', tab)

    def assertDialogDisplayed(self):
        self.assertTrue(
            self.html.getElement(
                'iframe', 'body',
                Options(htmlAttribute='class')).is_displayed())

    def assertMaterialExist(self, materialName, tab):
        self.html.search(materialName, tab)
        self.assertTrue(
            self.html.getElement(materialName, 'td').is_displayed())
        self.html.search('', tab)
        #self.assertTrue(self.html.getElementInTable(materialName, 'td', tab).is_displayed())

    def assertAllergenExist(self, allergenName):
        self.assertTrue(
            self.html.getElement(allergenName, 'td').is_displayed())

    def assertStockMovementExist(self, fromWh, toWh):
        self.assertTrue(self.html.getElement(fromWh, 'td').is_displayed())
        self.assertTrue(self.html.getElement(toWh, 'td').is_displayed())

    def assertStock(self, materialName, whName, qty):
        tab = 'Raktárkészlet'
        self.menu.openStocks()

        self.html.clickTableDropdown(materialName, 'Raktárak', tab)
        self.html.switchFrame('iframe')
        if qty != '0':
            stock = self.html.getElement(
                whName, 'td', Options(following='td//following::td')).text
            self.assertEqual(stock, qty)
        else:
            with self.assertRaises(NoSuchElementException):
                self.html.getElement(whName, 'td')

        self.html.switchFrame()
        self.html.clickElement('Close', 'a', Options(htmlAttribute='title'))

        self.html.clickTableDropdown(materialName, 'Készlet', tab)
        self.html.switchFrame('iframe')
        if qty != '0':
            stock = self.html.getElement(
                whName, 'td', Options(following='td//following::td')).text
            self.assertEqual(stock, qty)
        else:
            with self.assertRaises(NoSuchElementException):
                self.html.getElement(whName, 'td')

        self.html.switchFrame()
        self.html.clickElement('Close', 'a', Options(htmlAttribute='title'))

        self.html.clickElement('Raktárak', 'a')

        self.html.search(whName, 'Raktárak')
        self.html.clickElement(
            None, "//tr[contains(., '" + whName +
            "')]//a[contains(@class, 'stock') and contains(@class, 'actionButton')]",
            Options(uniqueSelector=True))

        self.html.switchFrame("iframe")

        if qty != '0':
            stock = self.html.getElement(materialName, 'td',
                                         Options(following='td')).text
            self.assertEqual(stock, qty)
        else:
            with self.assertRaises(NoSuchElementException):
                self.html.getElement(materialName, 'td')

        self.html.switchFrame()
        self.html.clickElement('Close', 'a', Options(htmlAttribute='title'))
        self.menu.openStocks()

    def assertDeletedMaterial(self, materialName, whName):
        self.html.clickElement('Raktárak', 'a')

        self.html.search(whName, 'Raktárak')
        self.html.clickElement(
            None, "//tr[contains(., '" + whName +
            "')]//a[contains(@class, 'stock') and contains(@class, 'actionButton')]",
            Options(uniqueSelector=True))

        self.html.switchFrame("iframe")

        with self.assertRaises(NoSuchElementException):
            self.html.getElement(materialName, 'td')

        self.html.switchFrame()
        self.html.clickElement('Close', 'a', Options(htmlAttribute='title'))
        self.menu.openStocks()