2022-05-03 19:07:12 -06:00

67 lines
2.3 KiB
Python

import os
import time
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import WebDriverException
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from charts import models
class TestCharts(StaticLiveServerTestCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.browser = WebDriver()
@classmethod
def tearDownClass(cls):
cls.browser.quit()
super().tearDownClass()
def test_shows_home_page_with_create_chart_button(self):
self.browser.get(self.live_server_url)
self.assertEqual(self.browser.title, "BTech CNA Charting")
create_chart_button = self.browser.find_element_by_css_selector("main .action-button")
self.assertIn(
create_chart_button.get_attribute("href"),
self.live_server_url + '/charts/new/'
)
self.assertIn(
'Welcome to\nBTech CNA Charting',
self.browser.find_element_by_css_selector('main header').text
)
create_chart_button.click()
self.assertEqual(
self.browser.current_url,
self.live_server_url + '/charts/new/'
)
def test_create_chart(self):
self.browser.get(f'{self.live_server_url}/charts/new/')
student_name_input = self.browser.find_element_by_css_selector("input[name=student_name]")
student_id_input = self.browser.find_element_by_css_selector("input[name=student_id]")
patient_input = self.browser.find_element_by_css_selector("input[name=patient]")
assignment_input = self.browser.find_element_by_css_selector("input[name=assignment]")
submit_button = self.browser.find_element_by_css_selector("input[value=Continue]")
student_name_input.send_keys('Nicholas Jenkins')
student_id_input.send_keys('12345')
patient_input.send_keys('Widmerpool')
assignment_input.send_keys('#1')
submit_button.click()
self.assertEqual(
self.browser.current_url,
self.live_server_url + '/charts/1/entry/'
)
self.assertIn(
'Widmerpool',
self.browser.find_element_by_css_selector(".chart__header").text
)