apps.dashboard.forms now employed in all views; FT helpers in base.py updated to look for Django's default #id_text (instead of #id-text)
This commit is contained in:
@@ -17,18 +17,12 @@ def new_list(request):
|
|||||||
|
|
||||||
def view_list(request, list_id):
|
def view_list(request, list_id):
|
||||||
our_list = List.objects.get(id=list_id)
|
our_list = List.objects.get(id=list_id)
|
||||||
error = None
|
|
||||||
form = ItemForm()
|
form = ItemForm()
|
||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
form = ItemForm(data=request.POST)
|
form = ItemForm(data=request.POST)
|
||||||
try:
|
if form.is_valid():
|
||||||
item = Item(text=request.POST['text'], list=our_list)
|
Item.objects.create(text=request.POST["text"], list=our_list)
|
||||||
item.full_clean()
|
|
||||||
item.save()
|
|
||||||
return redirect(our_list)
|
return redirect(our_list)
|
||||||
except ValidationError:
|
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form})
|
||||||
error = "You can't have an empty list item"
|
|
||||||
|
|
||||||
return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form, "error": error})
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,4 +42,4 @@ class FunctionalTest(StaticLiveServerTestCase):
|
|||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
def get_item_input_box(self):
|
def get_item_input_box(self):
|
||||||
return self.browser.find_element(By.ID, "id-text")
|
return self.browser.find_element(By.ID, "id_text")
|
||||||
|
|||||||
@@ -9,26 +9,30 @@ class ItemValidationTest(FunctionalTest):
|
|||||||
self.get_item_input_box().send_keys(Keys.ENTER)
|
self.get_item_input_box().send_keys(Keys.ENTER)
|
||||||
|
|
||||||
self.wait_for(
|
self.wait_for(
|
||||||
lambda: self.assertEqual(
|
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:invalid")
|
||||||
self.browser.find_element(By.CSS_SELECTOR, ".invalid-feedback").text,
|
|
||||||
"You can't have an empty list item",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.get_item_input_box().send_keys("Purchase milk")
|
self.get_item_input_box().send_keys("Purchase milk")
|
||||||
self.get_item_input_box().send_keys(Keys.ENTER)
|
self.wait_for(
|
||||||
|
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:valid")
|
||||||
|
)
|
||||||
|
|
||||||
|
self.get_item_input_box().send_keys(Keys.ENTER)
|
||||||
self.wait_for_row_in_list_table("1. Purchase milk")
|
self.wait_for_row_in_list_table("1. Purchase milk")
|
||||||
|
|
||||||
self.get_item_input_box().send_keys(Keys.ENTER)
|
self.get_item_input_box().send_keys(Keys.ENTER)
|
||||||
|
|
||||||
|
self.wait_for_row_in_list_table("1. Purchase milk")
|
||||||
self.wait_for(
|
self.wait_for(
|
||||||
lambda: self.assertEqual(
|
lambda: self.browser.find_element(By.CSS_SELECTOR, "#id_text:invalid")
|
||||||
self.browser.find_element(By.CSS_SELECTOR, ".invalid-feedback").text,
|
|
||||||
"You can't have an empty list item",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.get_item_input_box().send_keys("Make tea")
|
self.get_item_input_box().send_keys("Make tea")
|
||||||
|
self.wait_for(
|
||||||
|
lambda: self.browser.find_element(
|
||||||
|
By.CSS_SELECTOR,
|
||||||
|
"#id_text:valid",
|
||||||
|
)
|
||||||
|
)
|
||||||
self.get_item_input_box().send_keys(Keys.ENTER)
|
self.get_item_input_box().send_keys(Keys.ENTER)
|
||||||
self.wait_for_row_in_list_table("2. Make tea")
|
self.wait_for_row_in_list_table("2. Make tea")
|
||||||
|
|||||||
Reference in New Issue
Block a user