def test_users_disclaimer_status_in_context(self): user = mommy.make_recipe('booking.user') resp = self._get_response(user, 'events') # user has no disclaimer self.assertIsNone(resp.context_data.get('disclaimer')) self.assertIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) ) mommy.make_recipe('booking.online_disclaimer', user=user) resp = self._get_response(user, 'events') self.assertTrue(resp.context_data.get('disclaimer')) self.assertNotIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) ) OnlineDisclaimer.objects.all().delete() mommy.make(PrintDisclaimer, user=user) resp = self._get_response(user, 'events') self.assertTrue(resp.context_data.get('disclaimer')) self.assertNotIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) )
def test_create_event_with_non_default_paypal_email(self): form_data = self.form_data({ 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(reverse('studioadmin:add_session'), form_data, follow=True) self.assertIn( "You have changed the paypal receiver email from the default value. " "If you haven't used " "this email before, it is strongly recommended that you test the " "email address here", format_content(str(resp.content)).replace('\\', '')) self.assertIn( "/studioadmin/[email protected]", str(resp.content)) session = Session.objects.latest('id') self.assertEqual(session.paypal_email, '*****@*****.**') form_data = self.form_data() resp = self.client.post(reverse('studioadmin:add_session'), form_data, follow=True) self.assertNotIn( "You have changed the paypal receiver email from the default value.", format_content(str(resp.content)).replace('\\', '')) session1 = Session.objects.latest('id') self.assertEqual(session1.paypal_email, settings.DEFAULT_PAYPAL_EMAIL)
def test_block_type_id_user_display(self): bt1 = mommy.make_recipe( 'booking.blocktype5', event_type__subtype='Test1', identifier='transferred' ) mommy.make_recipe('booking.block', block_type=bt1, user=self.user) bt2 = mommy.make_recipe( 'booking.blocktype5', event_type__subtype='Test2', identifier='free class' ) mommy.make_recipe('booking.block', block_type=bt2, user=self.user) bt3 = mommy.make_recipe( 'booking.blocktype5', event_type__subtype='Test3', identifier='transferred' ) booking = mommy.make_recipe( 'booking.booking', event__name='Test event', event__date=datetime( year=2015, month=1, day=12, tzinfo=timezone.utc ), status='CANCELLED' ) mommy.make_recipe( 'booking.block', block_type=bt3, user=self.user, transferred_booking_id=booking.id ) bt4 = mommy.make_recipe( 'booking.blocktype5', event_type__subtype='Test4', ) mommy.make_recipe( 'booking.block', block_type=bt4, user=self.user, ) self.client.login(username=self.user.username, password='******') resp = self.client.get(reverse('booking:block_list')) self.assertIn( 'Test1 (transferred)', format_content(resp.rendered_content) ) self.assertIn( 'Test2 (free class)', format_content(resp.rendered_content) ) self.assertIn( 'Test3 (transferred from Test event 12Jan15)', format_content(resp.rendered_content) ) self.assertIn('Test4', format_content(resp.rendered_content)) self.assertNotIn('Test4 (', format_content(resp.rendered_content))
def test_can_update_booking_to_unattended(self): self.booking1.attended = True self.booking1.save() self.booking2.attended = True self.booking2.save() formset_data = self.formset_data({ 'bookings-0-attended': False, 'bookings-1-attended': False, 'formset_submitted': 'Save changes' }) url = reverse( 'studioadmin:event_register', args=[self.event.slug, 'OPEN'] ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(url, formset_data, follow=True) self.booking1.refresh_from_db() self.booking2.refresh_from_db() self.assertFalse(self.booking1.attended) self.assertFalse(self.booking2.attended) content = format_content(resp.rendered_content) self.assertIn( 'Booking changed to unattended for users {}, {}'.format( self.booking1.user.username, self.booking2.user.username ), content )
def test_update_paypal_email_to_non_default(self): form_data = self.form_data( self.session, { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' } ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post( reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True ) self.assertIn( "You have changed the paypal receiver email. If you haven't used " "this email before, it is strongly recommended that you test the " "email address here", format_content(str(resp.content)).replace('\\', '') ) self.assertIn( "/studioadmin/[email protected]", str(resp.content) ) self.session.refresh_from_db() self.assertEqual(self.session.paypal_email, '*****@*****.**')
def test_print_with_invalid_date_format(self): mommy.make_recipe( 'booking.future_EV', date=datetime( year=2015, month=9, day=7, hour=18, minute=0, tzinfo=timezone.utc ), ) url = reverse('studioadmin:register-day') self.client.login(username=self.staff_user.username, password='******') resp = self.client.post( url, { 'register_date': 'Mon 33 Sep 2015', 'exclude_ext_instructor': True, 'register_format': 'full', 'print': 'print' }, follow=True ) content = format_content(resp.rendered_content) self.assertIn( 'Please correct the following errors: register_date', content )
def test_cannot_update_booking_to_attended_and_no_show(self): formset_data = self.formset_data({ 'bookings-0-attended': True, 'bookings-0-no_show': True, 'formset_submitted': 'Save changes' }) url = reverse( 'studioadmin:event_register', args=[self.event.slug, 'OPEN'] ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(url, formset_data, follow=True) self.booking1.refresh_from_db() self.assertFalse(self.booking1.attended) self.assertFalse(self.booking2.attended) content = format_content(resp.rendered_content) self.assertIn( 'Please correct the following errors:__all__Booking cannot be ' 'both attended and no-show', content )
def test_no_events_selected_to_print(self): events = mommy.make_recipe( 'booking.future_EV', date=datetime( year=2015, month=9, day=7, hour=18, minute=0, tzinfo=timezone.utc ), _quantity=3 ) url = reverse('studioadmin:register-day') self.client.login(username=self.staff_user.username, password='******') resp = self.client.post( url, { 'register_date': 'Mon 07 Sep 2015', 'exclude_ext_instructor': True, 'register_format': 'full', 'print': 'print' }, follow=True ) self.assertEqual(Event.objects.count(), 3) content = format_content(resp.rendered_content) self.assertIn( 'Please select at least one register to print', content )
def test_with_no_changes(self): url = reverse('studioadmin:edit_voucher', args=[self.voucher.id]) self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) resp = self.client.post(url, self.data, follow=True) self.voucher.refresh_from_db() self.assertIn('No changes made', format_content(resp.rendered_content))
def test_disclaimer_in_context(self): """ Test correct context returned for user disclaimer """ event = mommy.make_recipe( 'booking.future_PC', name='Pole', cost=10, booking_open=True, ) user_no_disclaimer = mommy.make_recipe('booking.user') user_print_disclaimer = mommy.make_recipe('booking.user') user_online_disclaimer = mommy.make_recipe('booking.user') mommy.make_recipe( 'booking.online_disclaimer', user=user_online_disclaimer ) PrintDisclaimer.objects.create(user=user_print_disclaimer) resp = self._get_response(user_no_disclaimer, event, 'lesson') self.assertFalse(resp.context_data['disclaimer']) self.assertIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) ) self.assertEqual( "<strong>Please complete a <a href='{}' " "target=_blank>disclaimer form</a> before " "booking.</strong>".format(reverse('disclaimer_form')), resp.context_data['booking_info_text'], ) resp = self._get_response(user_online_disclaimer, event, 'lesson') self.assertTrue(resp.context_data['disclaimer']) self.assertNotIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) ) resp = self._get_response(user_print_disclaimer, event, 'lesson') self.assertTrue(resp.context_data['disclaimer']) self.assertNotIn( 'Please note that you will need to complete a disclaimer form ' 'before booking', format_content(resp.rendered_content) )
def test_post_with_no_changes_booking(self): formset_data = self.formset_data({ 'formset_submitted': 'Save changes' }) url = reverse( 'studioadmin:event_register', args=[self.event.slug, 'OPEN'] ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(url, formset_data, follow=True) content = format_content(resp.rendered_content) self.assertIn('No changes were made', content)
def test_update_voucher(self): url = reverse('studioadmin:edit_voucher', args=[self.voucher.id]) self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) self.data.update(code='new_test_code') resp = self.client.post(url, self.data, follow=True) self.voucher.refresh_from_db() self.assertEqual(self.voucher.code, 'new_test_code') self.assertIn('Voucher with code new_test_code has been updated!', format_content(resp.rendered_content))
def test_create_voucher(self): self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) self.assertFalse(EventVoucher.objects.exists()) resp = self.client.post(self.url, self.data, follow=True) self.assertEquals(EventVoucher.objects.count(), 1) voucher = EventVoucher.objects.first() self.assertEqual(voucher.code, 'test_code') self.assertIn('Voucher with code test_code has been created!', format_content(resp.rendered_content))
def test_user_password_incorrect(self): encoded_user_id = int_str(chaffify(self.user.id)) update_url = reverse('studioadmin:update_user_disclaimer', args=[encoded_user_id]) self.post_data['password'] = '******' self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) resp = self.client.post(update_url, self.post_data, follow=True) self.assertIn('Password is incorrect', format_content(resp.rendered_content))
def test_create_event_with_non_default_paypal_email(self): form_data = self.form_data( { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' } ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post( reverse('studioadmin:add_session'), form_data, follow=True ) self.assertIn( "You have changed the paypal receiver email from the default value. " "If you haven't used " "this email before, it is strongly recommended that you test the " "email address here", format_content(str(resp.content)).replace('\\', '') ) self.assertIn( "/studioadmin/[email protected]", str(resp.content) ) session = Session.objects.latest('id') self.assertEqual(session.paypal_email, '*****@*****.**') form_data = self.form_data() resp = self.client.post( reverse('studioadmin:add_session'), form_data, follow=True ) self.assertNotIn( "You have changed the paypal receiver email from the default value.", format_content(str(resp.content)).replace('\\', '') ) session1 = Session.objects.latest('id') self.assertEqual(session1.paypal_email, settings.DEFAULT_PAYPAL_EMAIL)
def test_user_password_incorrect(self): encoded_user_id = int_str(chaffify(self.user.id)) update_url = reverse( 'studioadmin:update_user_disclaimer', args=[encoded_user_id] ) self.post_data['password'] = '******' self.assertTrue( self.client.login(username=self.staff_user.username, password='******') ) resp = self.client.post(update_url, self.post_data, follow=True) self.assertIn( 'Password is incorrect', format_content(resp.rendered_content) )
def test_with_no_changes(self): url = reverse('studioadmin:edit_voucher', args=[self.voucher.id]) self.assertTrue( self.client.login( username=self.staff_user.username, password='******' ) ) resp = self.client.post(url, self.data, follow=True) self.voucher.refresh_from_db() self.assertIn( 'No changes made', format_content(resp.rendered_content) )
def test_event_register_list_shows_correct_booking_count(self): event = mommy.make_recipe('booking.future_EV') mommy.make_recipe('booking.booking', event=event, _quantity=2) mommy.make_recipe('booking.booking', event=event, status='CANCELLED') mommy.make_recipe('booking.booking', event=event, no_show=True) resp = self._get_response(self.staff_user, 'events') self.assertIn( '{} {} 2'.format( event.date.astimezone( pytz.timezone('Europe/London') ).strftime('%a %d %b, %H:%M'), event.name ), format_content(resp.rendered_content) )
def test_update_no_changes(self): self.client.login(username=self.staff_user.username, password='******') form_data = self.form_data( self.session, { 'max_participants': self.session.max_participants, 'cost': self.session.cost, 'booking_open': self.session.booking_open, 'payment_open': self.session.payment_open, 'advance_payment_required': self.session.advance_payment_required, }) resp = self.client.post(reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True) self.assertIn('No changes made', format_content(str(resp.content)))
def test_update_voucher(self): url = reverse('studioadmin:edit_voucher', args=[self.voucher.id]) self.assertTrue( self.client.login( username=self.staff_user.username, password='******' ) ) self.data.update(code='new_test_code') resp = self.client.post(url, self.data, follow=True) self.voucher.refresh_from_db() self.assertEqual(self.voucher.code, 'new_test_code') self.assertIn( 'Voucher with code new_test_code has been updated!', format_content(resp.rendered_content) )
def test_create_voucher(self): self.assertTrue( self.client.login( username=self.staff_user.username, password='******' ) ) self.assertFalse(EventVoucher.objects.exists()) resp = self.client.post(self.url, self.data, follow=True) self.assertEquals(EventVoucher.objects.count(), 1) voucher = EventVoucher.objects.first() self.assertEqual(voucher.code, 'test_code') self.assertIn( 'Voucher with code test_code has been created!', format_content(resp.rendered_content) )
def test_update_no_changes(self): self.client.login(username=self.staff_user.username, password='******') form_data = self.form_data( self.session, { 'max_participants': self.session.max_participants, 'cost': self.session.cost, 'booking_open': self.session.booking_open, 'payment_open': self.session.payment_open, 'advance_payment_required': self.session.advance_payment_required, } ) resp = self.client.post( reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True ) self.assertIn('No changes made', format_content(str(resp.content)))
def test_cancelling_booking_on_block(self): self.client.login(username=self.superuser.username, password='******') user = mommy.make_recipe('booking.user') block = mommy.make_recipe('booking.block_5', paid=True, user=user) event = mommy.make_recipe('booking.future_PC', event_type=block.block_type.event_type) booking = mommy.make_recipe('booking.booking', user=user, event=event, block=block, status='OPEN') url = reverse('admin:booking_block_change', args=[block.id]) data = { 'user': user.id, 'block_type': block.block_type.id, 'start_date_0': block.start_date.strftime('%d/%m/%Y'), 'start_date_1': block.start_date.strftime('%H:%M:%S'), 'paid': block.paid, 'bookings-TOTAL_FORMS': 1, 'bookings-INITIAL_FORMS': 1, 'bookings-0-id': booking.id, 'bookings-0-event': event.id, 'bookings-0-status': 'CANCELLED' } self.assertEqual(block.bookings.count(), 1) self.assertEqual(booking.block, block) self.assertTrue(booking.paid) resp = self.client.post(url, data, follow=True) self.assertEqual(block.bookings.count(), 0) booking.refresh_from_db() self.assertIsNone(booking.block) self.assertFalse(booking.paid) self.assertFalse(booking.payment_confirmed) self.assertEqual(booking.status, 'CANCELLED') content = format_content(resp.rendered_content) self.assertIn( 'Booking {} with user {} and event {} has been cancelled, set to ' 'unpaid and disassociated from block {}.'.format( booking.id, user.username, event, block.id), content)
def test_update_paypal_email_to_default(self): self.client.login(username=self.staff_user.username, password='******') self.session.paypal_email = '*****@*****.**' self.session.save() form_data = self.form_data( self.session, { 'paypal_email': settings.DEFAULT_PAYPAL_EMAIL, 'paypal_email_check': settings.DEFAULT_PAYPAL_EMAIL }) resp = self.client.post(reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True) self.assertNotIn("You have changed the paypal receiver email.", format_content(str(resp.content)).replace('\\', '')) self.session.refresh_from_db() self.assertEqual(self.session.paypal_email, settings.DEFAULT_PAYPAL_EMAIL)
def test_create_block_voucher(self): self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) self.assertFalse(BlockVoucher.objects.exists()) block_type = mommy.make_recipe('booking.blocktype') url = reverse('studioadmin:add_block_voucher') data = self.data.copy() del data['event_types'] data.update(block_types=[block_type.id]) resp = self.client.post(url, data, follow=True) self.assertEquals(BlockVoucher.objects.count(), 1) voucher = BlockVoucher.objects.first() self.assertEqual(voucher.code, 'test_code') self.assertIn('Voucher with code test_code has been created!', format_content(resp.rendered_content))
def test_abbreviated_ticket_booking_references(self): tb = mommy.make( TicketBooking, purchase_confirmed=True, paid=True ) mommy.make(Ticket, ticket_booking=tb) self.client.login(username=self.user.username, password='******') resp = self.client.get( reverse( 'studioadmin:ticketed_event_bookings', kwargs={'slug':tb.ticketed_event.slug} ) ) self.assertEqual(len(tb.booking_reference), 22) content = format_content(resp.rendered_content) self.assertNotIn(tb.booking_reference, content) self.assertIn(tb.booking_reference[0:5] + '...', content)
def test_formatted_uk_date(self): # activitylog in BST mommy.make( ActivityLog, log="Test log", timestamp=datetime(2016, 7, 1, 18, 0, tzinfo=timezone.utc) ) # activitylog in GMT (same as UTC) mommy.make( ActivityLog, log="Test log", timestamp=datetime(2016, 1, 1, 18, 0, tzinfo=timezone.utc) ) self.client.login(username=self.user.username, password='******') resp = self.client.get(reverse('studioadmin:activitylog')) content = format_content(resp.rendered_content) self.assertIn("01 Jul 2016 19:00:00", content) self.assertIn("01 Jan 2016 18:00:00", content)
def test_update_paypal_email_to_default(self): self.client.login(username=self.staff_user.username, password='******') self.session.paypal_email = '*****@*****.**' self.session.save() form_data = self.form_data( self.session, { 'paypal_email': settings.DEFAULT_PAYPAL_EMAIL, 'paypal_email_check': settings.DEFAULT_PAYPAL_EMAIL } ) resp = self.client.post( reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True ) self.assertNotIn( "You have changed the paypal receiver email.", format_content(str(resp.content)).replace('\\', '') ) self.session.refresh_from_db() self.assertEqual(self.session.paypal_email, settings.DEFAULT_PAYPAL_EMAIL)
def test_no_changes_made(self): post_data = { 'id': self.disclaimer.id, 'name': self.disclaimer.name, 'dob': self.disclaimer.dob.strftime('%d %b %Y'), 'address': self.disclaimer.address, 'postcode': self.disclaimer.postcode, 'mobile_phone': self.disclaimer.mobile_phone, 'emergency_contact1_name': self.disclaimer.emergency_contact1_name, 'emergency_contact1_relationship': self.disclaimer.emergency_contact1_relationship, 'emergency_contact1_phone': self.disclaimer.emergency_contact1_phone, 'emergency_contact2_name': self.disclaimer.emergency_contact2_name, 'emergency_contact2_relationship': self.disclaimer.emergency_contact2_relationship, 'emergency_contact2_phone': self.disclaimer.emergency_contact2_phone, 'medical_conditions': False, 'medical_conditions_details': '', 'joint_problems': False, 'joint_problems_details': '', 'allergies': False, 'allergies_details': '', 'medical_treatment_permission': True, 'terms_accepted': True, 'age_over_18_confirmed': True, 'password': '******' } encoded_user_id = int_str(chaffify(self.user.id)) update_url = reverse('studioadmin:update_user_disclaimer', args=[encoded_user_id]) self.assertTrue( self.client.login(username=self.staff_user.username, password='******')) resp = self.client.post(update_url, post_data, follow=True) self.assertIn('No changes made', format_content(resp.rendered_content))
def test_adding_cancelled_booking(self): self.booking2.status = "CANCELLED" self.booking2.save() formset_data = { 'bookings-TOTAL_FORMS': 2, 'bookings-INITIAL_FORMS': 1, 'bookings-0-id': self.booking1.id, 'bookings-0-user': self.booking1.user.id, 'bookings-0-paid': self.booking1.paid, 'bookings-0-deposit_paid': self.booking1.paid, 'bookings-0-attended': self.booking1.attended, 'bookings-1-user': self.booking2.user.id, 'bookings-1-deposit_paid': self.booking2.paid, 'bookings-1-paid': self.booking2.paid, 'bookings-1-attended': self.booking2.attended, 'status_choice': 'OPEN', 'formset_submitted': 'Save changes' } self.assertEqual(Booking.objects.all().count(), 2) self.assertEqual(self.booking2.status, 'CANCELLED') url = reverse( 'studioadmin:event_register', args=[self.event.slug, 'OPEN'] ) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(url, formset_data, follow=True) self.booking2.refresh_from_db() self.assertEqual(Booking.objects.all().count(), 2) self.assertEqual(self.booking2.status, 'OPEN') content = format_content(resp.rendered_content) self.assertIn( 'Cancelled booking reopened for user {}'.format( self.booking2.user.username ), content )
def test_create_block_voucher(self): self.assertTrue( self.client.login( username=self.staff_user.username, password='******' ) ) self.assertFalse(BlockVoucher.objects.exists()) block_type = mommy.make_recipe('booking.blocktype') url = reverse('studioadmin:add_block_voucher') data = self.data.copy() del data['event_types'] data.update(block_types=[block_type.id]) resp = self.client.post(url, data, follow=True) self.assertEquals(BlockVoucher.objects.count(), 1) voucher = BlockVoucher.objects.first() self.assertEqual(voucher.code, 'test_code') self.assertIn( 'Voucher with code test_code has been created!', format_content(resp.rendered_content) )
def test_update_paypal_email_to_non_default(self): form_data = self.form_data( self.session, { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }) self.client.login(username=self.staff_user.username, password='******') resp = self.client.post(reverse('studioadmin:edit_session', args=[self.session.id]), form_data, follow=True) self.assertIn( "You have changed the paypal receiver email. If you haven't used " "this email before, it is strongly recommended that you test the " "email address here", format_content(str(resp.content)).replace('\\', '')) self.assertIn( "/studioadmin/[email protected]", str(resp.content)) self.session.refresh_from_db() self.assertEqual(self.session.paypal_email, '*****@*****.**')
def test_no_changes_made(self): post_data = { 'id': self.disclaimer.id, 'name': self.disclaimer.name, 'dob': self.disclaimer.dob.strftime('%d %b %Y'), 'address': self.disclaimer.address, 'postcode': self.disclaimer.postcode, 'mobile_phone': self.disclaimer.mobile_phone, 'emergency_contact1_name': self.disclaimer.emergency_contact1_name, 'emergency_contact1_relationship': self.disclaimer.emergency_contact1_relationship, 'emergency_contact1_phone': self.disclaimer.emergency_contact1_phone, 'emergency_contact2_name': self.disclaimer.emergency_contact2_name, 'emergency_contact2_relationship': self.disclaimer.emergency_contact2_relationship, 'emergency_contact2_phone': self.disclaimer.emergency_contact2_phone, 'medical_conditions': False, 'medical_conditions_details': '', 'joint_problems': False, 'joint_problems_details': '', 'allergies': False, 'allergies_details': '', 'medical_treatment_permission': True, 'terms_accepted': True, 'age_over_18_confirmed': True, 'password': '******' } encoded_user_id = int_str(chaffify(self.user.id)) update_url = reverse( 'studioadmin:update_user_disclaimer', args=[encoded_user_id] ) self.assertTrue( self.client.login(username=self.staff_user.username, password='******') ) resp = self.client.post(update_url, post_data, follow=True) self.assertIn( 'No changes made', format_content(resp.rendered_content) )
def test_disclaimer_messages(self): mommy.make_recipe('booking.blocktype5') user = User.objects.create_user( username='******', email='*****@*****.**', password='******' ) self.client.login(username=user.username, password='******') resp = self.client.get(reverse('booking:block_list')) self.assertNotIn( 'Get a new block!', format_content(resp.rendered_content) ) self.assertIn( 'Please complete a disclaimer form before buying a block.', format_content(resp.rendered_content) ) # self.user has a PrintDisclaimer self.client.login(username=self.user.username, password='******') resp = self.client.get(reverse('booking:block_list')) self.assertIn( 'Get a new block!', format_content(resp.rendered_content) ) self.assertNotIn( 'Please complete a disclaimer form before buying a block.', format_content(resp.rendered_content) ) user_online_disclaimer = User.objects.create_user( username='******', email='*****@*****.**', password='******' ) mommy.make(OnlineDisclaimer, user=user_online_disclaimer) self.client.login( username=user_online_disclaimer.username, password='******' ) resp = self.client.get(reverse('booking:block_list')) self.assertIn( 'Get a new block!', format_content(resp.rendered_content) ) self.assertNotIn( 'Please complete a disclaimer form before buying a block.', format_content(resp.rendered_content) )