class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.nav = NavigationPage(self.driver)
        self.ts = Status(self.driver)

    def setUp(self):
        self.nav.click_header_logo()
        self.nav.navigate_to_all_courses()

    @pytest.mark.run(order=1)
    @data(*get_csv_data(
        "C:\\Users\\Ctramm\\PycharmProjects\\ExampleAutomationFramework\\testdata.csv"
    ))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv,
                                zip_code):
        self.courses.enter_course_name(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(cc_num, cc_exp, cc_cvv, zip_code)
        result = self.courses.verify_enroll_button_is_disabled()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment Failed Verification")
        self.courses.take_screenshot("test_invalid_enrollment")
Exemple #2
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_set_up(self, one_time_set_up):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = CheckStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def set_up(self):
        self.nav.navigate_to_all_courses()

    @pytest.mark.run(order=1)
    @data(*get_csv_data(
        r"C:\Users\blabl\PycharmProjects\FrameworkPractice\testdata.csv"))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv):
        self.courses.enter_course_name(course_name)
        time.sleep(3)
        self.courses.select_course_to_enroll(course_name)
        time.sleep(3)
        self.courses.enroll_course(num=cc_num, exp=cc_exp, cvv=cc_cvv)
        result = self.courses.verify_enroll_failed()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment verification FAILED")
        self.courses.web_scroll()
        self.driver.find_element_by_link_text("ALL COURSES").click()
        time.sleep(5)
class RegisterCoursesTest(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self, one_time_set_up):
        self.cp = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_invalid_enrollment(self):
        self.cp.enter_course_name("JavaScript")
        self.cp.select_course_to_enroll("JavaScript for beginners")
        self.cp.enroll_course("6548 9856 1254 1236", "1023", "123")
        result = self.cp.verify_enroll_failed()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment fail verification")
class TestRegisterCourses(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.cp = CheckPoint(self.driver)

    @pytest.mark.run(order=1)
    def test_invalidEnrollment(self):
        self.courses.search_course("JavaScript")
        self.courses.select_course_to_enroll("JavaScript for beginners")
        self.courses.enroll_course("1234 5678 9012 3456", "1220", "444",
                                   "Brazil", "18000")
        result = self.courses.verify_enroll_failed()
        self.cp.mark_final("test_invalidEnrollment", result,
                           "Enrollment failed verification")
Exemple #5
0
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)

    @pytest.mark.run(order=1)
    def test_invalid_enrollment(self):
        self.courses.enter_course_name("JavaScript")
        self.courses.select_course_to_enroll("JavaScript for beginners")
        self.courses.enroll_course(num="10",
                                   exp="1220",
                                   cvv="10",
                                   zip_code="76710")
        result = self.courses.verify_enroll_button_is_disabled()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment Failed Verification")
Exemple #6
0
class RegisterMultipleCoursesTest(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self, one_time_set_up):
        self.cp = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(
        ("JavaScript for beginners", "6548 9856 1254 1236", "1023", "123"),
        ("Learn Python 3 from scratch", "6548 9856 1254 1239", "1024", "321"))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv):
        self.cp.enter_course_name(course_name)
        self.cp.select_course_to_enroll(course_name)
        self.cp.enroll_course(cc_num, cc_exp, cc_cvv)
        result = self.cp.verify_enroll_failed()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment fail verification")
        self.driver.find_element_by_link_text("ALL COURSES").click()
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = Status(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "10", "1220", "10", "76710"),
          ("Learn Python 3 from scratch", "20", "1221", "20", "90210"))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv,
                                zip_code):
        self.courses.enter_course_name(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(cc_num, cc_exp, cc_cvv, zip_code)
        result = self.courses.verify_enroll_button_is_disabled()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment Failed Verification")
        self.driver.get("https://letskodeit.teachable.com/courses")
class RegisterCoursesCSVDataTest(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def object_setup(self, one_time_set_up):
        self.cp = RegisterCoursesPage(self.driver)
        self.ts = TestStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        self.nav.navigate_to_all_courses()

    @pytest.mark.run(order=1)
    @data(*get_csv_data("test_data.csv"))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv):
        self.cp.enter_course_name(course_name)
        self.cp.select_course_to_enroll(course_name)
        self.cp.enroll_course(cc_num, cc_exp, cc_cvv)
        result = self.cp.verify_enroll_failed()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment fail verification")
class TestRegisterCoursesCSVData(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.cp = CheckPoint(self.driver)
        self.nav = NavigationPage(self.driver)

    def setUp(self):
        self.nav.go_to_main()

    @pytest.mark.run(order=1)
    @data(*get_csv_data("testdata.csv"))
    @unpack
    def test_invalidEnrollment(self, course_name, cc_num, cc_exp, cc_cvv,
                               country, zip):
        self.courses.search_course(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(cc_num, cc_exp, cc_cvv, country, zip)
        result = self.courses.verify_enroll_failed()
        self.cp.mark_final("test_invalidEnrollment", result,
                           "Enrollment failed verification")
class RegisterCoursesCSVDataTests(unittest.TestCase):
    test_data = os.path.join("..", "register_course_data.csv")

    @pytest.fixture(autouse=True)
    def object_setup(self, one_time_setup):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = ResultStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    # Method name must be specified in camel case in order to work
    def setUp(self):
        self.nav.navigate_to_website_logo()
        time.sleep(3)
        self.nav.navigate_to_all_courses()
        time.sleep(2)

    # Enrolment failure - credit card number incorrect
    @pytest.mark.run(order=1)
    @data(*get_csv_data(test_data))
    @unpack
    def test_enrol_failed(self, course_name, cc_num, cc_exp, cc_cvc,
                          cc_country, country_type):
        """
        Test failure for incorrect card number when enter payment details for 
        enrolling on a course and the credit card fails validation.  Is only
        applicable to paid-for courses.
        """
        self.courses.enter_course_name(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(num=cc_num,
                                   exp=cc_exp,
                                   cvc=cc_cvc,
                                   country=cc_country,
                                   data_type=country_type)
        result1, result2 = self.courses.verify_card_check_failed(
            "The card number is incorrect.")
        self.ts.mark(result1, "Card validation failure message is present")
        self.ts.mark_final("test_enroll_failed", result2,
                           "Card validation failure message displayed")
class RegisterCoursesTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_set_up(self, one_time_set_up):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = CheckStatus(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "1234567812345678", "1234", "123"),
          ("Selenium WebDriver Advanced", "1234567812345678", "1234", "123"))
    @unpack
    def test_invalid_enrollment(self, course_name, cc_num, cc_exp, cc_cvv):
        self.courses.enter_course_name(course_name)
        time.sleep(3)
        self.courses.select_course_to_enroll(course_name)
        time.sleep(3)
        self.courses.enroll_course(num=cc_num, exp=cc_exp, cvv=cc_cvv)
        result = self.courses.verify_enroll_failed()
        self.ts.mark_final("test_invalid_enrollment", result,
                           "Enrollment verification FAILED")
        self.courses.web_scroll()
        self.driver.find_element_by_link_text("ALL COURSES").click()
        time.sleep(5)
Exemple #12
0
class TestRegisterCoursesMultipleDataSet(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.courses = RegisterCoursesPage(self.driver)
        self.cp = CheckPoint(self.driver)

    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "1234 5678 9012 3456", "1220", "444",
           "Brazil", "18000"),
          ("Learn Python 3 from scratch", "6541 8025 4098 5146", "1225", "444",
           "Brazil", "18000"))
    @unpack
    def test_invalidEnrollment(self, course_name, cc_num, cc_exp, cc_cvv,
                               country, zip):
        self.courses.search_course(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(cc_num, cc_exp, cc_cvv, country, zip)
        result = self.courses.verify_enroll_failed()
        self.cp.mark_final("test_invalidEnrollment", result,
                           "Enrollment failed verification")
        self.driver.find_element_by_xpath(
            "//a[@class='navbar-brand header-logo']").click()
Exemple #13
0
class RegisterCoursesMultiDataTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def class_setup(self, one_time_setup):
        self.courses = RegisterCoursesPage(self.driver)
        self.ts = ResultStatus(self.driver)
        self.nav = NavigationPage(self.driver)

    # Method name must be specified in camel case in order to work
    def setUp(self):
        self.nav.navigate_to_website_logo()
        time.sleep(2)
        self.nav.navigate_to_all_courses()
        time.sleep(2)

    # Enrolment failure - credit card number incorrect
    @pytest.mark.run(order=1)
    @data(("JavaScript for beginners", "6414524464145244", "122017", "123",
           "GB", "value"), ("Learn Python 3 from scratch", "2014574120145741",
                            "012019", "230", "US", "value"))
    @unpack
    def test_enrol_failed(self, course_name, num, exp, cvc, country,
                          country_type):
        """
        Test failure for incorrect card number when enter payment details for 
        enrolling on a course and the credit card fails validation
        """
        self.courses.enter_course_name(course_name)
        self.courses.select_course_to_enroll(course_name)
        self.courses.enroll_course(num=num,
                                   exp=exp,
                                   cvc=cvc,
                                   country=country,
                                   data_type=country_type)

        result1, result2 = self.courses.verify_card_check_failed(
            "The card number is incorrect.")
        self.ts.mark(result1, "Card failure message is present")
        self.ts.mark_final("test_enroll_failed", result2,
                           "Card failure message displayed")