Best Python code snippet using pytest-django_python
test_forms.py
Source: test_forms.py
...25 def test_login_form_raises_locked(self):26 user = self.initialize_user(is_active=False)27 form = LoginForm(data={'username': 'test_user', 'password': 'rrrr'})28 self.assertFalse(form.is_valid())29 self.assertWarnsMessage('Your account is locked out - please contact support.', form.errors.as_json())30 def test_login_form_raises_email_unverified(self):31 self.initialize_user(email_verified=False)32 form = LoginForm(data={'username': 'test_user', 'password': 'rrrr'})33 self.assertFalse(form.is_valid())34 self.assertWarnsMessage('Please verify your email', form.errors.as_json())35 def test_login_invalid(self):36 self.initialize_user()37 form = LoginForm(data={'username': 'test_user', 'password': 'rrr'})38 self.assertFalse(form.is_valid())39 self.assertWarnsMessage('Sorry, that login was invalid. Please try again.', form.errors.as_json())40class TestPhoneActivationForms(AccountsTestCase):41 def setUp(self) -> None:42 self.client = Client(enforce_csrf_checks=False)43 self.rf = RequestFactory()44 def set_up_for_phone_verification(self):45 user = self.initialize_user(phone='+5571981265131')46 self.client.force_login(user)47 request = self.rf.post(reverse('auth:verify_phone'), data={'phone': '+5571981265131'}, follow=True)48 self.process_requests(request)49 response = verify_phone(request)50 response.client = self.client51 return request, user, response52 # @override_settings(TWILIO_PHONE_NUMBER='+15005550006')53 def test_phone_verification_form_pass(self):54 request, user, response = self.set_up_for_phone_verification()55 form = PhoneVerificationForm(data=request.POST)56 self.assertTrue(form.is_valid())57 self.assertRedirects(response, reverse('auth:activate_phone'))58 user = User.objects.get(phone=form.cleaned_data['phone'])59 self.assertTrue(user.profile.temp_token != '')60 session_phone = request.session.get('user_phone')61 self.assertEquals(user.phone, session_phone)62 self.assertTrue(len(user.profile.temp_token), 4)63 def test_phone_verification_form_fails(self):64 form = PhoneVerificationForm(data={'phone': '+16469061922'})65 self.assertFalse(form.is_valid())66 def test_phone_verification_form_valid(self):67 user = self.initialize_user(phone='+5571981265131')68 self.client.force_login(user)69 user.profile.temp_token = 123470 user.save()71 request = self.rf.post(reverse('auth:activate_phone'),72 data={'token': 1234}, follow=True)73 self.process_requests(request)74 request.session['user_phone'] = str(user.__dict__['phone']) # force valid75 response = activate_phone(request)76 response.client = self.client77 self.assertRedirects(response, reverse('auth:profile'))78 def test_phone_verification_form_invalid_token(self):79 user = self.initialize_user(phone='+5571981265131')80 self.client.force_login(user)81 user.profile.temp_token = 123482 user.save()83 request = self.rf.post(reverse('auth:activate_phone'),84 data={'token': 1111}, follow=True)85 self.process_requests(request)86 request.session['user_phone'] = str(user.__dict__['phone']) # force valid87 response = activate_phone(request)88 response.client = self.client89 self.assertWarnsMessage('Invalid token', response.content.decode('utf-8'))90 def test_phone_verification_form_expired_token(self):91 user = self.initialize_user(phone='+5571981265131')92 self.client.force_login(user)93 user.profile.temp_token = 123494 user.save()95 request = self.rf.post(reverse('auth:activate_phone'),96 data={'token': 1234}, follow=True)97 self.process_requests(request)98 response = activate_phone(request)99 response.client = self.client100 self.assertWarnsMessage('Expired request', response.content.decode('utf-8'))101 def test_phone_verification_form_invalid_request(self):102 user = self.initialize_user(phone='+5571981265131')103 self.client.force_login(user)104 user.profile.temp_token = 1234105 user.save()106 request = self.rf.post(reverse('auth:activate_phone'),107 data={'tok': 1234}, follow=True)108 self.process_requests(request)109 request.user = user110 request.session['user_phone'] = str(user.__dict__['phone']) # force valid111 response = activate_phone(request) # first request112 self.assertWarnsMessage('Invalid request, please request another code', response.content.decode('utf-8'))113 def test_phone_verification_form_for_non_existed_user(self):114 user = self.initialize_user(phone='+18704945574')115 self.client.force_login(user)116 form = PhoneVerificationForm(data={'phone': user.phone})117 response = self.client.post(reverse('auth:verify_phone'), data={'phone': '+18704945566'}, follow=True)118 self.assertContains(response, form.errors)119 def test_phone_verification_get(self):120 user = self.initialize_user(phone='+18704945574')121 response = self.client.get(reverse('auth:verify_phone'))122 self.assertIsInstance(response.context['form'], PhoneVerificationForm)123 self.client.force_login(user)124 response = self.client.get(reverse('auth:verify_phone'))125 self.assertIsInstance(response.context['form'], PhoneVerificationForm)126 def test_verificator_raises(self):...
tests.py
Source: tests.py
1from django.test import TestCase2"""3https://docs.djangoproject.com/en/dev/topics/testing/tools/#django.test.TestCase.assertWarnsMessage4assertWarnsMessage(expected_warning, expected_message, callable, *args, **kwargs)5assertWarnsMessage(expected_warning, expected_message)6"""7class Test(TestCase):8 def test(self):...
Check out the latest blogs from LambdaTest on this topic:
Hey Folks! Welcome back to the latest edition of LambdaTest’s product updates. Since programmer’s day is just around the corner, our incredible team of developers came up with several new features and enhancements to add some zing to your workflow. We at LambdaTest are continuously upgrading the features on our platform to make lives easy for the QA community. We are releasing new functionality almost every week.
Technical debt was originally defined as code restructuring, but in today’s fast-paced software delivery environment, it has evolved. Technical debt may be anything that the software development team puts off for later, such as ineffective code, unfixed defects, lacking unit tests, excessive manual tests, or missing automated tests. And, like financial debt, it is challenging to pay back.
Smartphones have changed the way humans interact with technology. Be it travel, fitness, lifestyle, video games, or even services, it’s all just a few touches away (quite literally so). We only need to look at the growing throngs of smartphone or tablet users vs. desktop users to grasp this reality.
If you are a web tester then somewhere down the road you will have to come across Selenium, an open-source test automation framework that has been on boom ever since its launch in 2004.
The web paradigm has changed considerably over the last few years. Web 2.0, a term coined way back in 1999, was one of the pivotal moments in the history of the Internet. UGC (User Generated Content), ease of use, and interoperability for the end-users were the key pillars of Web 2.0. Consumers who were only consuming content up till now started creating different forms of content (e.g., text, audio, video, etc.).
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!