def test_C145_CheckStockAdded(self):
        # fails because a market cannot be added
        # Setup
        cut = DefaultCut.whole
        number_of_boxes = StringMethods.get_unique_digit()
        box_weight = StringMethods.get_unique_digit()
        cost_per_weight = StringMethods.get_unique_digit()

        # Action
        self.add_category(self.category_name)
        self.add_market(self.market_name, self.number_of_doors)
        stocks_page = StocksAllPage(self.driver)
        stocks_page.add_entry(self.market_name, self.category_name, cut,
                              number_of_boxes, box_weight, cost_per_weight)

        # Assert
        stocks_row = stocks_page.table.get_row_for_field_value(
            TableHeaders.Name, self.market_name)
        self.assertIsNotNone(stocks_row)
        self.assertEqual(self.market_name, stocks_row[TableHeaders.Name])

        stocks_page.remove_entry(self.market_name)

        self.remove_category(self.category_name)
        self.remove_market(self.market_name)
예제 #2
0
    def test_C131_CheckPurchaseAdded(self):
        # fails because we cannot add a market
        # Setup
        date = StringMethods.get_unique_date()
        no_boxes = StringMethods.get_unique_digit()
        kg = StringMethods.get_unique_digit()
        cost = StringMethods.get_unique_digit()

        # Action
        self.add_office(self.office_name)
        self.add_boat(self.boat_name, self.office_name)

        self.add_species(self.species_name)
        self.add_market(self.market_name, self.number_of_doors)

        purchases_page = PurchasesAllPage(self.driver)
        purchases_page.add_entry(date, no_boxes, kg, cost, self.species_name,
                                 self.market_name, market_door, self.boat_name)

        # Assert
        purchases_row = purchases_page.table.get_row_for_field_value(
            HeadersPuchases.PassedAt, date)
        self.assertIsNotNone(purchases_row)
        self.assertEqual(date, purchases_row[HeadersPuchases.PassedAt])

        purchases_page.remove_entry(date)

        self.remove_market(self.market_name)
        self.remove_species(self.species_name)
        self.remove_boat(self.boat_name)
        self.remove_office(self.office_name)
예제 #3
0
    def test_C65_CheckProductDetailsThenEdit(self):
        # Setup
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        # Setup - edit
        product_name_edited = StringMethods.get_unique_name('product_name_')
        display_edited = StringMethods.get_unique_name('pn_')
        sage_edited = StringMethods.get_unique_digit()
        default_cut_edited = DefaultCut.whole

        self.addCleanup(self.products_page.remove_entry, product_name_edited)

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)

        products_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        products_row.details_row_item.click()
        check_dialog = ProductsCheckDialog(self.driver)
        check_dialog.edit_entry(product_name_edited, display_edited,
                                sage_edited, default_cut_edited)

        # Assert
        products_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name_edited)
        self.assertIsNotNone(products_row)
        self.assertEqual(product_name_edited,
                         products_row[HeadersProducts.Name])
    def test_C14_CheckMarketEdited(self):
        # fails and unable to test because of C13
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()

        # Setup - edit
        market_name_edited = StringMethods.get_unique_name('market_name_')
        number_of_doors_edited = StringMethods.get_unique_number()
        delivery_time_edited = StringMethods.get_unique_digit()
        market_cost_edited = StringMethods.get_unique_number()

        self.addCleanup(self.markets_page.remove_entry, market_name_edited)

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)
        markets_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name)
        self.markets_page.edit_entry(markets_row, market_name_edited, number_of_doors_edited, delivery_time_edited, market_cost_edited)

        # Assert
        self.markets_page.wait_for_page()
        markets_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name_edited)
        self.assertIsNotNone(markets_row)
        self.assertEqual(market_name_edited, markets_row[HeadersMarkets.Name])
예제 #5
0
    def test_C62_CheckProductEdited(self):
        # Setup
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        # Setup - edit
        product_name_edited = StringMethods.get_unique_name('product_name_')
        display_edited = StringMethods.get_unique_name('pn_')
        sage_edited = StringMethods.get_unique_digit()
        default_cut_edited = DefaultCut.butterfly

        self.addCleanup(self.products_page.remove_entry, product_name_edited)

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)
        product_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        self.products_page.edit_entry(product_row, product_name_edited,
                                      display_edited, sage_edited,
                                      default_cut_edited)

        # Assert
        self.products_page.wait_for_page()
        product_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name_edited)
        self.assertIsNotNone(product_row)
        self.assertEqual(product_name_edited,
                         product_row[HeadersProducts.Name])
예제 #6
0
    def test_C140_CheckNoMarketValidation(self):
        # Setup
        expected_error = 'The market_id field is required.'
        no_boxes = StringMethods.get_unique_digit()
        kg = StringMethods.get_unique_digit()
        cost = StringMethods.get_unique_digit()

        # Action
        self.add_species(self.species_name)

        self.add_office(self.office_name)
        self.add_boat(self.boat_name, self.office_name)

        purchases_page = PurchasesAllPage(self.driver)
        purchases_page.add_button.click()
        add_dialog = PurchasesAddDialog(self.driver)
        add_dialog.no_boxes.send_keys(no_boxes)
        add_dialog.kg.send_keys(kg)
        add_dialog.cost.send_keys(cost)
        add_dialog.species.select_input_enter(self.species_name)
        add_dialog.boat.select_input_enter(self.boat_name)
        add_dialog.save_button.click()

        # Assert
        self.assertEqual(expected_error, add_dialog.error)

        add_dialog.cancel_button.click()

        self.remove_species(self.species_name)
        self.remove_boat(self.boat_name)
    def test_C17_CheckMarketDetailsThenEdit(self):
        # fails and unable to test because of C13
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()

        # Setup - edit
        market_name_edited = StringMethods.get_unique_name('market_name_')
        number_of_doors_edited = StringMethods.get_unique_number()
        delivery_time_edited = StringMethods.get_unique_digit()
        market_cost_edited = StringMethods.get_unique_number()

        self.addCleanup(self.markets_page.remove_entry, market_name_edited)

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)

        market_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name)
        market_row.details_row_item.click()
        check_dialog = MarketsCheckDialog(self.driver)
        check_dialog.edit_entry(market_name_edited, number_of_doors_edited, delivery_time_edited, market_cost_edited)

        # Assert
        market_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name_edited)
        self.assertIsNotNone(market_row)
        self.assertEqual(market_name_edited, market_row[HeadersMarkets.Name])
예제 #8
0
    def test_C159_CheckSaleDetailsThenDeleteTransportThatDeliversToCustomersWithNoMinWeight(self):
        # Setup
        cut = DefaultCut.whole
        quantity = StringMethods.get_unique_digit()
        weight = StringMethods.get_unique_digit()
        price = StringMethods.get_unique_digit()
        no_sales_message = 'There is no data to display'

        # Action
        self.add_customer(self.customer_name, self.sage_code)
        self.add_transport(self.transport_name,shipping=CheckOneBox.yes)
        self.add_product(self.product_name, self.display, self.sage, self.default_cut)
        sale_page = SalesAllPage(self.driver)
        sale_page.add_entry(self.customer_name, self.transport_name, self.product_name, cut, quantity, weight, price)

        sales_row = sale_page.table.get_row_for_field_value(HeadersSales.Customer, self.customer_name)
        sales_row.details_row_item.click()
        check_dialog = SalesAllCheckDialog(self.driver)
        check_dialog.remove_entry(self.customer_name)

        # Assert
        self.assertEqual(no_sales_message, sale_page.empty_text)

        self.remove_customer(self.customer_name)
        self.remove_transport(self.transport_name)
    def test_C107_CheckNoDuplicateEntriesAllowed(self):
        # fails and unable to test because of C13
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()

        expected_error = 'Duplicate entries are not allowed.'

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)
        markets_page = MarketsPage(self.driver)
        markets_page.add_button.click()
        add_dialog = MarketsAddDialog(self.driver)
        add_dialog.name.send_keys(market_name)
        add_dialog.number_of_doors.send_keys(number_of_doors)
        add_dialog.delivery_time.send_keys(delivery_time)
        add_dialog.market_cost.send_keys(market_cost)
        add_dialog.save_button.click()

        # Assert
        add_dialog.is_text_present(expected_error)

        add_dialog.cancel_button.click()
        markets_page.remove_entry(market_name)
예제 #10
0
    def test_C130_CheckNoDuplicateEntriesAllowed(self):
        # fails because duplication is allowed
        # Setup
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        expected_error = 'Duplicate entries are not allowed.'

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)
        confirmation_dialog = ConfirmationMessageDialog(self.driver)
        confirmation_dialog.ok_button.click()
        PrintMessage('Product created.')
        products_page = ProductsPage(self.driver)
        products_page.add_button.click()
        add_dialog = ProductsAddDialog(self.driver)
        add_dialog.name.send_keys(product_name)
        add_dialog.display.send_keys(display)
        add_dialog.sage.send_keys(sage)
        add_dialog.default_cut.select_input(default_cut)
        add_dialog.save_button.click()

        # Assert
        add_dialog.is_text_present(expected_error)

        add_dialog.cancel_button.click()
        products_page.remove_entry(product_name)
 def setUp(self):
     super(SmokeTestCategories, self).setUp()
     self.categories_page = CategoriesPage(self.driver)
     self.species_name = StringMethods.get_unique_name('species_name_')
     self.product_name = StringMethods.get_unique_name('product_name_')
     self.display = StringMethods.get_unique_name('pn_')
     self.sage = StringMethods.get_unique_digit()
     self.default_cut = DefaultCut.whole
예제 #12
0
    def test_C139_CheckNoSpeciesValidation(self):
        # Setup
        expected_error = 'The species_id field is required.'
        no_boxes = StringMethods.get_unique_digit()
        kg = StringMethods.get_unique_digit()
        cost = StringMethods.get_unique_digit()

        # Action
        self.all_page.add_button.click()
        add_dialog = PurchasesAddDialog(self.driver)
        add_dialog.no_boxes.send_keys(no_boxes)
        add_dialog.kg.send_keys(kg)
        add_dialog.cost.send_keys(cost)
        add_dialog.save_button.click()

        # Assert
        self.assertEqual(expected_error, add_dialog.error)

        add_dialog.cancel_button.click()
    def test_C150_CheckNoCostPerKgValidation(self):
        # fails because no error message is displayed
        # Setup
        expected_error = 'The cost per kg is required'
        number_of_boxes = StringMethods.get_unique_digit()
        box_weight = StringMethods.get_unique_digit()

        # Action
        self.add_category(self.category_name)
        self.add_market(self.market_name, self.number_of_doors)
        self.all_page.number_of_boxes.send_keys(number_of_boxes)
        self.all_page.box_weight.send_keys(box_weight)
        self.all_page.cost_per_kg.click()
        self.all_page.save_button.click()

        # Assert
        self.all_page.is_text_present(expected_error)

        self.remove_category(self.category_name)
        self.remove_market(self.market_name)
예제 #14
0
    def setUp(self):
        super(SmokeTestSales, self).setUp()
        self.overview_page = SalesOverviewPage(self.driver)
        self.all_page = SalesAllPage(self.driver)

        self.customer_name = StringMethods.get_unique_name('customer_name_')
        self.sage_code = StringMethods.get_unique_name('sage_')
        self.transport_name = StringMethods.get_unique_name('transport_name_')
        self.product_name = StringMethods.get_unique_name('product_name_')
        self.display = StringMethods.get_unique_name('pn_')
        self.sage = StringMethods.get_unique_digit()
        self.default_cut = DefaultCut.whole
예제 #15
0
    def test_C158_CheckSaleDetailsThenEditTransportThatDeliversToCustomersWithNoMinWeight(self):
        # Setup
        cut = DefaultCut.whole
        quantity = StringMethods.get_unique_digit()
        weight = StringMethods.get_unique_digit()
        price = StringMethods.get_unique_digit()

        # Setup - edit
        cut_edited = DefaultCut.headless
        quantity_edited = StringMethods.get_unique_digit()
        weight_edited = StringMethods.get_unique_digit()
        price_edited = StringMethods.get_unique_digit()

        # Action
        self.add_customer(self.customer_name, self.sage_code)
        self.add_transport(self.transport_name,shipping=CheckOneBox.yes)
        self.add_product(self.product_name, self.display, self.sage, self.default_cut)
        sale_page = SalesAllPage(self.driver)
        sale_page.add_entry(self.customer_name, self.transport_name, self.product_name, cut, quantity, weight, price)

        sales_row = sale_page.table.get_row_for_field_value(HeadersSales.Customer, self.customer_name)
        sales_row.details_row_item.click()
        check_dialog = SalesAllCheckDialog(self.driver)
        check_dialog.edit_entry(self.customer_name, self.transport_name, self.product_name, cut_edited, quantity_edited, weight_edited, price_edited)

        # Assert
        sale_page = SalesAllPage(self.driver)
        sales_row = sale_page.table.get_row_for_field_value(HeadersSales.Customer, self.customer_name)
        self.assertIsNotNone(sales_row)
        self.assertEqual(quantity_edited, sales_row[HeadersSales.Items])

        sale_page.remove_entry(self.customer_name)

        self.remove_customer(self.customer_name)
        self.remove_transport(self.transport_name)
예제 #16
0
    def test_C160_CheckMinimumWeightPerOrderValidation(self):
        # Setup
        cut = DefaultCut.whole
        quantity = StringMethods.get_unique_digit()
        weight = StringMethods.get_unique_digit()
        price = StringMethods.get_unique_digit()

        min_weight = StringMethods.get_unique_digit()

        error_message = 'Min. weight required'

        # Action
        self.add_customer(self.customer_name, self.sage_code)
        self.add_transport(self.transport_name,weight=min_weight, shipping=CheckOneBox.yes)
        self.add_product(self.product_name, self.display, self.sage, self.default_cut)

        sale_page = SalesAllPage(self.driver)
        sale_page.add_button.click()
        add_dialog = SalesAllAddDialog(self.driver)
        add_dialog.customer.select_input_enter(self.customer_name)
        add_dialog.new_sale.click()
        add_dialog.wait()
        add_dialog.transport.select_input_enter(self.transport_name)
        add_dialog.product.select_input_enter(self.product_name)
        add_dialog.new_sale.click()
        add_dialog.add_button.click()
        add_dialog_s= SalesAddDialog(self.driver)
        add_dialog_s.cut.select_input_enter(cut)
        add_dialog_s.quantity.send_keys(quantity)
        add_dialog_s.weight.send_keys(str(min(int(weight),int(min_weight))-1))
        add_dialog_s.price.send_keys(price)
        add_dialog_s.add_button.click()

        message_dialog = MessageDialog(self.driver)

        # Assert
        self.assertEqual(error_message, message_dialog.title)

        self.remove_customer(self.customer_name)
        self.remove_transport(self.transport_name)
예제 #17
0
    def test_C142_CheckIncorrectMarkDoorValidation(self):
        # fails because we cannot add a market and the errror message is not displayed
        # Setup
        expected_error = 'Please enter'  # to be completed with the correct error
        no_boxes = StringMethods.get_unique_digit()
        kg = StringMethods.get_unique_digit()
        cost = StringMethods.get_unique_digit()
        mark_door = '@'

        # Action
        self.add_species(self.species_name)

        self.add_office(self.office_name)
        self.add_boat(self.boat_name, self.office_name)

        self.add_market(self.market_name, self.number_of_doors)

        purchases_page = PurchasesAllPage(self.driver)
        purchases_page.add_button.click()
        add_dialog = PurchasesAddDialog(self.driver)
        add_dialog.no_boxes.send_keys(no_boxes)
        add_dialog.kg.send_keys(kg)
        add_dialog.cost.send_keys(cost)
        add_dialog.species.select_input_enter(self.species_name)
        add_dialog.boat.select_input_enter(self.boat_name)
        add_dialog.market.select_input_enter(self.market_name)
        add_dialog.market_door.send_keys(mark_door)
        add_dialog.save_button.click()

        # Assert
        add_dialog.is_text_present(expected_error)

        add_dialog.cancel_button.click()

        self.remove_market(self.market_name)
        self.remove_species(self.species_name)
        self.remove_boat(self.boat_name)
        self.remove_office(self.office_name)
예제 #18
0
    def test_C153_CheckSaleAddedTransportThatDeliversToCustomersWithNoMinWeight(self):
        # Setup
        cut = DefaultCut.whole
        quantity = StringMethods.get_unique_digit()
        weight = StringMethods.get_unique_digit()
        price = StringMethods.get_unique_digit()

        # Action
        self.add_customer(self.customer_name, self.sage_code)
        self.add_transport(self.transport_name,shipping=CheckOneBox.yes)
        self.add_product(self.product_name, self.display, self.sage, self.default_cut)
        sale_page = SalesAllPage(self.driver)
        sale_page.add_entry(self.customer_name, self.transport_name, self.product_name, cut, quantity, weight, price)

        # Assert
        sales_row = sale_page.table.get_row_for_field_value(HeadersSales.Customer, self.customer_name)
        self.assertIsNotNone(sales_row)
        self.assertEqual(self.customer_name, sales_row[HeadersSales.Customer])

        sale_page.remove_entry(self.customer_name)

        self.remove_customer(self.customer_name)
        self.remove_transport(self.transport_name)
예제 #19
0
    def test_C161_CheckSaleValidationTransportThatDoeNotDeliverToCustomersWithNoMinWeight(self):
        # Setup
        cut = DefaultCut.whole
        quantity = StringMethods.get_unique_digit()
        weight = StringMethods.get_unique_digit()
        price = StringMethods.get_unique_digit()

        error_message = 'A transport that delivers to customer is required'

        # Action
        self.add_customer(self.customer_name, self.sage_code)
        self.add_transport(self.transport_name,shipping=CheckOneBox.no)
        self.add_product(self.product_name, self.display, self.sage, self.default_cut)

        sale_page = SalesAllPage(self.driver)
        sale_page.add_button.click()
        add_dialog = SalesAllAddDialog(self.driver)
        add_dialog.customer.select_input_enter(self.customer_name)
        add_dialog.new_sale.click()
        add_dialog.wait()
        add_dialog.product.select_input_enter(self.product_name)
        add_dialog.new_sale.click()
        add_dialog.add_button.click()
        add_dialog_s= SalesAddDialog(self.driver)
        add_dialog_s.cut.select_input_enter(cut)
        add_dialog_s.quantity.send_keys(quantity)
        add_dialog_s.weight.send_keys(weight)
        add_dialog_s.price.send_keys(price)
        add_dialog_s.add_button.click()


        # Assert
        add_dialog_s.is_text_present(error_message)

        self.remove_customer(self.customer_name)
        self.remove_transport(self.transport_name)
예제 #20
0
    def test_C63_CheckProductRemoved(self):
        # Setup
        no_products_message = 'There is no data to display'
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)
        products_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        self.products_page.delete_row(products_row)

        # Assert
        self.assertEqual(no_products_message, self.products_page.empty_text)
    def test_C16_CheckNewMarketRightDetails(self):
        # fails and unable to test because of C13
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)
        market_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name)
        market_row.details_row_item.click()
        check_dialog = MarketsCheckDialog(self.driver)

        # Assert
        self.assertEqual(market_name, check_dialog.market_name)

        check_dialog.remove_entry(market_name)
예제 #22
0
    def test_C133_CheckNoPurchaseDateValidation(self):
        # fails because no error message
        # Setup
        expected_error = 'Purchase date is required.'
        no_boxes = StringMethods.get_unique_digit()

        # Action
        self.all_page.add_button.click()
        add_dialog = PurchasesAddDialog(self.driver)
        add_dialog.date.click()
        add_dialog.date.clear()
        add_dialog.no_boxes.send_keys(no_boxes)
        add_dialog.save_button.click()

        # Assert
        self.assertEqual(expected_error, add_dialog.error)

        add_dialog.cancel_button.click()
예제 #23
0
    def test_C64_CheckNewProductRightDetails(self):
        # Setup
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)
        products_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        products_row.details_row_item.click()
        check_dialog = ProductsCheckDialog(self.driver)

        # Assert
        self.assertEqual(product_name, check_dialog.product_name)

        check_dialog.remove_entry(product_name)
    def test_C18_CheckMarketDetailsThenDelete(self):
        # fails and unable to test because of C13
        # Setup
        no_market_message = 'There is no data to display'
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()
        market_name = StringMethods.get_unique_name('market_name_')

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)

        market_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name)
        market_row.details_row_item.click()
        check_dialog = MarketsCheckDialog(self.driver)
        check_dialog.remove_entry(market_name)

        # Assert
        self.assertEqual(no_market_message, self.markets_page.empty_text)
    def test_C13_CheckMarketAdded(self):
        # fails due to raised error
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = StringMethods.get_unique_number()

        self.addCleanup(self.markets_page.remove_entry, market_name)

        # Action
        self.markets_page.add_entry(market_name, number_of_doors, delivery_time, market_cost)

        # Assert
        market_row = self.markets_page.table.get_row_for_field_value(HeadersMarkets.Name, market_name)
        self.assertIsNotNone(market_row)
        self.assertEqual(market_name, market_row[HeadersMarkets.Name])
        self.assertEqual(number_of_doors, market_row[HeadersMarkets.NumberOfDoors])
        self.assertEqual(delivery_time, market_row[HeadersMarkets.DeliveryTime])
예제 #26
0
    def test_C66_CheckProductDetailsThenDelete(self):
        # Setup
        no_products_message = 'There is no data to display'
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)

        products_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        products_row.details_row_item.click()
        check_dialog = ProductsCheckDialog(self.driver)
        check_dialog.remove_entry(product_name)

        # Assert
        self.assertEqual(no_products_message, self.products_page.empty_text)
예제 #27
0
    def test_C134_CheckIncorrectPurchaseDateValidation(self):
        # fails because no error message
        # Setup
        expected_error = 'Please enter a purchase date in the correct format.'
        no_boxes = StringMethods.get_unique_digit()
        date = '@'

        # Action
        self.all_page.add_button.click()
        add_dialog = PurchasesAddDialog(self.driver)
        add_dialog.date.click()
        add_dialog.date.clear()
        add_dialog.date.send_keys(date)
        add_dialog.no_boxes.send_keys(no_boxes)
        add_dialog.save_button.click()

        # Assert
        self.assertEqual(expected_error, add_dialog.error)

        add_dialog.cancel_button.click()
예제 #28
0
    def test_C61_CheckProductAdded(self):
        # Setup
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()
        default_cut = DefaultCut.whole

        self.addCleanup(self.products_page.remove_entry, product_name)

        # Action
        self.products_page.add_entry(product_name, display, sage, default_cut)

        # Assert
        product_row = self.products_page.table.get_row_for_field_value(
            HeadersProducts.Name, product_name)
        self.assertIsNotNone(product_row)
        self.assertEqual(product_name, product_row[HeadersProducts.Name])
        self.assertEqual(display, product_row[HeadersProducts.DisplayName])
        self.assertEqual(sage, product_row[HeadersProducts.SageProductCode])
        self.assertEqual(default_cut, product_row[HeadersProducts.DefaultCut])
예제 #29
0
    def test_C71_CheckNoDefaultCutValidation(self):
        # fails because no cancel button and no error message
        # Setup
        expected_error = 'The default cut is required'
        product_name = StringMethods.get_unique_name('product_name_')
        display = StringMethods.get_unique_name('pn_')
        sage = StringMethods.get_unique_digit()

        # Action
        self.products_page.add_button.click()
        add_dialog = ProductsAddDialog(self.driver)
        add_dialog.name.send_keys(product_name)
        add_dialog.display.send_keys(display)
        add_dialog.sage.send_keys(sage)
        add_dialog.default_cut.click()
        add_dialog.save_button.click()

        # Assert
        add_dialog.is_text_present(expected_error)

        add_dialog.cancel_button.click()
    def test_C106_CheckIncorrectMarketCostLess0Validation(self):
        # fails due to no cancel button
        # Setup
        market_name = StringMethods.get_unique_name('market_name_')
        number_of_doors = StringMethods.get_unique_number()
        delivery_time = StringMethods.get_unique_digit()
        market_cost = '-1'
        expected_error = 'Please enter a value greater than or equal to 0.'

        # Action
        self.markets_page.add_button.click()
        add_dialog = MarketsAddDialog(self.driver)
        add_dialog.name.send_keys(market_name)
        add_dialog.number_of_doors.send_keys(number_of_doors)
        add_dialog.delivery_time.send_keys(delivery_time)
        add_dialog.market_cost.send_keys(market_cost)
        add_dialog.save_button.click()

        # Assert
        add_dialog.is_text_present(expected_error)

        add_dialog.cancel_button.click()