class RestaurantSeed: def __init__(self, driver): self.driver = driver self.html = HtmlProxy(self.driver) self.menu = MainMenuProxy(self.driver) self.receivingAssert = ReceivingAssert(self.html, self.driver) def createTable(self, tableName, tableShape='Kör', tableType='Normál', discount='0', module=False): if module: self.menu.openTableMapEditor() self.html.clickElement(tableShape + ' asztal hozzáadása', 'a', Options(htmlAttribute='title')) self.html.refresh() self.html.clickElement('Étterem', 'i') self.html.fillInput('Asztal neve', tableName) if not tableType == 'Normál': self.html.clickDropdown('Asztal típusa', tableType) if tableType == 'Főnöki' or tableType == 'Személyzeti': self.html.fillInput('Kedv.', discount) self.html.clickElement( 'Rögzít', 'span' ) # Span-t kell használni mert valamiért 'Rögzít' buttonból van egy amit előbb megtalál és az nem interactable def deleteTable(self, tableName, module=False): if module: self.menu.openTableMapEditor() self.html.clickElement(tableName, 'i') self.html.clickElement( 'Törlés', 'span') # ugyan az az állás mint a fenti kommentnél self.html.clickElement('Igen') def createDynamicCourierTable(self, name): self.html.clickElement('+', waitSeconds=1) self.html.fillAutocomplete('cl_name', 'input', name, name, 'li', options=Options(htmlAttribute='id')) self.html.clickElement('Rögzít', 'span')
class ReceivingSeed(): def __init__(self, driver): self.driver = driver self.html = HtmlProxy(self.driver) self.menu = MainMenuProxy(self.driver) self.receivingAssert = ReceivingAssert(self.html, self.driver) def createPartner(self, name, id, module=False, tab=False): if module: self.menu.openReceiving() self.html.clickElement('Beszállítók', 'a') if tab: self.html.clickElement('Beszállítók', 'a') self.html.clickElement('Új beszállító', 'a') self.html.switchFrame('iframe') self.html.fillInput('Beszállító neve', name) self.html.fillInput('Belső azonosító', id) self.html.clickElement('Rögzít') self.html.switchFrame() self.receivingAssert.assertPartnerExist(name, 'Beszállítók') def deleteParter(self, partnerName, module=False, tab=False): if module: self.menu.openReceiving() self.html.clickElement('Beszállítók', 'a') if tab: self.html.clickElement('Beszállítók', 'a') self.html.search(partnerName, 'Beszállítók') self.html.clickElement( None, '//table[@id="partners"]//tr[contains(.,"' + partnerName + '")]//label', Options(uniqueSelector=True)) self.html.clickElement('deletePartners', options=Options(htmlAttribute='id')) self.html.clickElement('Igen') self.html.refresh() self.receivingAssert.assertPartnerNotExist(partnerName, 'Beszállítók')
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)
class ProductSeed: 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 createProductGroup(self, groupName, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Termékcsoportok', 'a') if tab: self.html.clickElement('Termékcsoportok', 'a') self.html.clickElement('Új termékcsoport felvitele', 'a') self.html.switchFrame('iframe') self.html.fillInput('Termékcsoport neve', groupName) self.html.clickDropdown('Kategória', 'Étel') self.html.clickElement('Rögzít') self.html.wait(12) self.html.switchFrame() self.html.wait(5) def deleteProductGroup(self, groupName, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Termékcsoportok', 'a') elif tab: self.html.clickElement('Termékcsoportok', 'a') self.html.clickTableElement('product_groups', 'id', groupName, 'span', 'Törlés', 'Termékcsoportok') self.html.wait(2) self.html.clickElement('Igen') def createMenu(self, menuName, firstMeal, secondMeal, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Menü', 'a') elif tab: self.html.clickElement('Menü', 'a') self.html.clickElement('Új menü felvitele', 'a') self.html.switchFrame('iframe') self.html.clickDropdown('Nyomtatási részleg', 'Konyha') self.html.fillInput('Termék neve', menuName) self.html.getElement( 'Termékcsoport', 'label', Options(following='input//following::input')).click() self.html.wait(2) self.html.switchFrame('iframe') self.html.clickElement('Ételek', 'a') self.html.clickElement('Rögzít') self.html.switchFrame('iframe') self.html.fillInput('Kód', '1212') self.html.getElement('27%', 'td', Options(following='td//input')).send_keys('100') self.html.fillInput('Fogás neve', 'Előétel') self.html.clickDropdown('Termékcsoport:', td.ProductGroup['Egyeb']['Name']) self.html.clickElement(td.ProductGroup['Egyeb']['Name']) self.html.fillInput('Mennyiség', '1') self.html.getInput('Mennyiség', 'label').click() self.html.clickElement('Hozzáad') self.html.wait(3) self.html.clickElement(firstMeal, 'span') self.html.clickElement('icon-hozzaadas addNewComponent', 'i', Options(htmlAttribute='class')) self.html.wait(3) tab = self.html.getElement('tabs-2', 'div', Options(htmlAttribute='id')) self.html.fillInput('Fogás neve', 'Főétel', options=Options(element=tab)) self.html.clickDropdown('Termékcsoport:', td.ProductGroup['Egyeb']['Name'], options=Options(element=tab)) self.html.clickElement(td.ProductGroup['Egyeb']['Name'], options=Options(element=tab)) self.html.fillInput('Mennyiség', '1', options=Options(element=tab)) self.html.getInput('Mennyiség', 'label', options=Options(element=tab)).click() self.html.clickElement('Hozzáad', options=Options(element=tab)) self.html.wait(3) self.html.clickElement(secondMeal, 'span', options=Options(element=tab)) self.html.clickElement('Rögzít') self.html.switchFrame() def deleteMenu(self, menuName, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Menü', 'a') elif tab: self.html.clickElement('Menü', 'a') self.html.clickTableElement('menu', 'id', menuName, 'span', 'Törlés', 'Menü') self.html.clickElement('Igen') def createPizza(self, pizzaName, baseComponent, topping, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Pizza (testreszabható)', 'a') elif tab: self.html.clickElement('Pizza (testreszabható)', 'a') self.html.clickElement('Új pizza (testreszabható)', 'a') self.html.switchFrame('iframe') self.html.clickDropdown('Nyomtatási részleg', 'Pizza') self.html.fillInput('Termék neve', pizzaName) self.html.fillInput('Kód', '1211') self.html.clickDropdown('Szósz', 'Paradicsomos alap') self.html.fillAutocomplete('baseComponentName', 'input', baseComponent, baseComponent, 'li', Options(htmlAttribute='id')) table = self.html.getElement('baseComponents', 'table', Options(htmlAttribute='id')) self.html.getElement('Hozzáad', 'button', Options(element=table)).click() # self.html.fillAutocomplete('toppingComponentName', 'input', topping, topping, 'li', Options(htmlAttribute='id')) # table = self.html.getElement('toppingComponents', 'table', Options(htmlAttribute='id')) # self.html.getElement('Hozzáad', 'button', element=table).click() self.html.clickElement('Mennyiségek', 'a') self.html.wait(2) td = self.html.getElement('Eladási ár(ak)', 'td') self.html.clickElement('edit actionButton fright editPriceBtn', 'a', Options(htmlAttribute='class')) self.html.fillInput('Nettó', '1000') self.html.wait(2) self.html.clickElement('Rögzít', 'a', waitSeconds=2) #self.html.closeAllert() #self.html.clickElement('Rögzít', 'a') self.html.clickElement('Rögzít') def deletePizza(self, pizzaName, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Pizza (testreszabható)', 'a') elif tab: self.html.clickElement('Pizza (testreszabható)', 'a') self.html.clickTableElement('customproduct-2', 'id', pizzaName, 'a', 'Törlés', 'Pizza (testreszabható)') self.html.clickElement('Igen') def createProduct(self, name, group, code, counter, component, compQty=2, netPrice=100, module=False): if module: self.menu.openProducts() self.html.clickElement('Új termék felvitele', 'a') self.html.switchFrame('iframe') self.html.clickDropdown('Nyomtatási részleg', 'Pult') self.html.switchFrame('iframe') self.html.clickElement(group, 'a') self.html.clickElement('Rögzít') self.html.switchFrame('iframe') self.html.fillInput('Termék neve', name) self.html.fillInput('Kód', code) self.html.clickElement('p_counters', 'input', Options(htmlAttribute='id'), waitSeconds=1) self.html.switchFrame('iframe') self.html.clickElement(counter, 'td') self.html.clickElement('Rögzít') self.html.switchFrame('iframe') places = self.html.getElement('Eladási ár (Kötelező)', 'td') self.html.clickElement('Ár megadása', options=Options(element=places)) self.html.fillInput('Nettó', netPrice) self.html.wait(1) self.html.clickElement('taxPriceSave', 'a', options=Options(htmlAttribute='id')) self.html.wait(2) self.html.fillAutocomplete('componentName', 'input', component, component, 'li', Options(htmlAttribute='id')) self.html.fillInput('componentQty', compQty, 'input', options=Options(htmlAttribute='id')) self.html.clickElement('Hozzáad') self.html.clickElement('Rögzít') def createProductConveniencies(self, name, group, code, counter, component, compQty=2, module=False): if module: self.menu.openProducts() self.html.clickElement('Új termék felvitele', 'a') self.html.switchFrame('iframe') self.html.clickDropdown('Nyomtatási részleg', 'Pult') self.html.switchFrame('iframe') self.html.clickElement(group, 'a') self.html.clickElement('Rögzít') self.html.switchFrame('iframe') self.html.fillInput('Termék neve', name) self.html.fillInput('Kód', code) self.html.clickElement('p_counters', 'input', Options(htmlAttribute='id'), waitSeconds=1) self.html.switchFrame('iframe') self.html.clickElement(counter, 'td') self.html.clickElement('Rögzít') self.html.switchFrame('iframe') self.html.clickElement( None, './/label[contains(.,"Gyártás termék") and @class="radio formStyle"]', options=Options(uniqueSelector=True)) self.html.fillInput('Recept adag', '1') self.html.fillAutocomplete('componentName', 'input', component, component, 'li', Options(htmlAttribute='id')) self.html.fillInput('componentQty', compQty, 'input', options=Options(htmlAttribute='id')) self.html.clickElement('Hozzáad') self.html.clickElement('Rögzít') def deleteProduct(self, name, module=False): if module: self.menu.openProducts() self.html.refresh() self.html.clickTableElement('products', 'id', name, 'a', 'Törlés', 'Termékek') self.html.clickElement('Igen', waitSeconds=2) self.html.search('', 'Termékek') def createCounter(self, name, position, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Számlálók', 'a') if tab: self.html.clickElement('Számlálók', 'a') self.html.clickElement('Új számláló felvitele', 'a') self.html.switchFrame('iframe') self.html.fillInput('Számláló neve', name) self.html.fillInput('Számláló állás', position) self.html.clickElement('Rögzít') self.html.switchFrame() def deleteCounter(self, name, module=False, tab=False): if module: self.menu.openProducts() self.html.clickElement('Számlálók', 'a') if tab: self.html.clickElement('Számlálók', 'a') self.html.refresh() self.html.clickTableElement('counters', 'id', name, 'a', 'Törlés', 'Számlálók') self.html.clickElement('Igen', waitSeconds=1) self.html.search('', 'Számlálók')