示例#1
0
class CompanyAuthdViewTests(TestCase):
    def setUp(self):
        password = '******'
        owner = User(username='******')
        owner.set_password(password)
        owner.full_clean()
        owner.save()

        other = User(username='******')
        other.set_password(password)
        other.full_clean()
        other.save()

        self.company1 = Company(name='Tramcar', url='http://www.tramcar.org',
                                site_id=1, user_id=owner.id)
        self.company1.full_clean()
        self.company1.save()

        self.company2 = Company(name='WFH.io', url='https://www.wfh.io',
                                site_id=1, user_id=other.id)
        self.company2.full_clean()
        self.company2.save()

        self.client.post(
          '/login/',
          {'username': owner.username, 'password': password}
        )

    def test_index_view(self):
        response = self.client.get(reverse('companies_index'))
        self.assertEqual(response.status_code, 200)

    def test_new_view(self):
        response = self.client.get(reverse('companies_new'))
        self.assertEqual(response.status_code, 200)

    def test_show_view(self):
        response = self.client.get(self.company1.get_absolute_url())
        self.assertEqual(response.status_code, 200)

    def test_show_view_on_own_company_shows_edit_link(self):
        response = self.client.get(self.company1.get_absolute_url())
        url = reverse('companies_edit', args=(self.company1.id,))
        edit = '<a class="btn btn-default btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertContains(response, edit)

    def test_show_view_on_other_company_does_not_show_edit_link(self):
        response = self.client.get(self.company2.get_absolute_url())
        url = reverse('companies_edit', args=(self.company2.id,))
        edit = '<a class="btn btn-primary btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertNotContains(response, edit)

    def test_edit_view(self):
        response = self.client.get(
                       reverse('companies_edit', args=(self.company1.id,))
                   )
        self.assertEqual(response.status_code, 200)
示例#2
0
class CompanyAuthdViewTests(TestCase):
    def setUp(self):
        password = '******'
        owner = User(username='******')
        owner.set_password(password)
        owner.full_clean()
        owner.save()

        other = User(username='******')
        other.set_password(password)
        other.full_clean()
        other.save()

        self.company1 = Company(name='Tramcar', url='http://www.tramcar.org',
                                site_id=1, user_id=owner.id)
        self.company1.full_clean()
        self.company1.save()

        self.company2 = Company(name='WFH.io', url='https://www.wfh.io',
                                site_id=1, user_id=other.id)
        self.company2.full_clean()
        self.company2.save()

        self.client.post(
          '/login/',
          {'username': owner.username, 'password': password}
        )

    def test_index_view(self):
        response = self.client.get(reverse('companies_index'))
        self.assertEqual(response.status_code, 200)

    def test_new_view(self):
        response = self.client.get(reverse('companies_new'))
        self.assertEqual(response.status_code, 200)

    def test_show_view(self):
        response = self.client.get(self.company1.get_absolute_url())
        self.assertEqual(response.status_code, 200)

    def test_show_view_on_own_company_shows_edit_link(self):
        response = self.client.get(self.company1.get_absolute_url())
        url = reverse('companies_edit', args=(self.company1.id,))
        edit = '<a class="btn btn-default btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertContains(response, edit)

    def test_show_view_on_other_company_does_not_show_edit_link(self):
        response = self.client.get(self.company2.get_absolute_url())
        url = reverse('companies_edit', args=(self.company2.id,))
        edit = '<a class="btn btn-primary btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertNotContains(response, edit)

    def test_edit_view(self):
        response = self.client.get(
                       reverse('companies_edit', args=(self.company1.id,))
                   )
        self.assertEqual(response.status_code, 200)
示例#3
0
class CompanyUnauthdViewTests(TestCase):
    def setUp(self):
        user = User(username='******')
        user.set_password('password')
        user.full_clean()
        user.save()
        self.company = Company(name='Tramcar',
                               url='http://www.tramcar.org',
                               site_id=1,
                               user_id=user.id)
        self.company.full_clean()
        self.company.save()

    def test_index_view(self):
        response = self.client.get(reverse('companies_index'))
        self.assertEqual(response.status_code, 200)

    def test_new_view(self):
        response = self.client.get(reverse('companies_new'))
        self.assertRedirects(response, '/login/?next=/companies/new')

    def test_show_view(self):
        response = self.client.get(self.company.get_absolute_url())
        self.assertEqual(response.status_code, 200)

    def test_show_view_without_slug_redirects_to_slug(self):
        response = self.client.get(
            reverse('companies_show', args=(self.company.id, )))
        self.assertRedirects(response,
                             self.company.get_absolute_url(),
                             status_code=301)

    def test_show_view_does_not_display_edit_link(self):
        response = self.client.get(self.company.get_absolute_url())
        url = reverse('companies_edit', args=(self.company.id, ))
        edit = '<a class="btn btn-primary btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertNotContains(response, edit)

    def test_edit_view(self):
        response = self.client.get(
            reverse('companies_edit', args=(self.company.id, )))
        url = reverse('companies_edit', args=(self.company.id, ))
        self.assertRedirects(response, '/login/?next=%s' % url)
示例#4
0
class CompanyUnauthdViewTests(TestCase):
    def setUp(self):
        user = User(username='******')
        user.set_password('password')
        user.full_clean()
        user.save()
        self.company = Company(name='Tramcar', url='http://www.tramcar.org',
                               site_id=1, user_id=user.id)
        self.company.full_clean()
        self.company.save()

    def test_index_view(self):
        response = self.client.get(reverse('companies_index'))
        self.assertEqual(response.status_code, 200)

    def test_new_view(self):
        response = self.client.get(reverse('companies_new'))
        self.assertRedirects(response, '/login/?next=/companies/new')

    def test_show_view(self):
        response = self.client.get(self.company.get_absolute_url())
        self.assertEqual(response.status_code, 200)

    def test_show_view_without_slug_redirects_to_slug(self):
        response = self.client.get(
                       reverse('companies_show', args=(self.company.id,))
                   )
        self.assertRedirects(
            response, self.company.get_absolute_url(), status_code=301
        )

    def test_show_view_does_not_display_edit_link(self):
        response = self.client.get(self.company.get_absolute_url())
        url = reverse('companies_edit', args=(self.company.id,))
        edit = '<a class="btn btn-primary btn-sm" ' \
               'href="%s">Edit Company</a>' % url
        self.assertNotContains(response, edit)

    def test_edit_view(self):
        response = self.client.get(
                       reverse('companies_edit', args=(self.company.id,))
                   )
        url = reverse('companies_edit', args=(self.company.id,))
        self.assertRedirects(response, '/login/?next=%s' % url)
示例#5
0
class CompanyAdminViewTests(TestCase):
    def setUp(self):
        password = '******'
        owner = User(username='******')
        owner.set_password(password)
        owner.full_clean()
        owner.save()

        admin = User(username='******')
        admin.is_staff = True
        admin.set_password(password)
        admin.full_clean()
        admin.save()

        self.company = Company(name='Tramcar', url='http://www.tramcar.org',
                               site_id=1, user_id=owner.id)
        self.company.full_clean()
        self.company.save()

        self.client.post(
          '/login/',
          {'username': admin.username, 'password': password}
        )

    def test_edit_get_view(self):
        response = self.client.get(
                       reverse('companies_edit', args=(self.company.id,))
                   )
        self.assertEqual(response.status_code, 200)

    def test_edit_post_view(self):
        company = {
            'name': 'Tramcar',
            'url': 'https://www.tramcar.org',
            'site': 1,
            'user': 1
        }
        response = self.client.post(
                       reverse('companies_edit', args=(self.company.id,)),
                       company
                   )
        # Here we refresh the object otherwise it will show the old content
        # from before the update
        self.company.refresh_from_db()
        self.assertRedirects(response, self.company.get_absolute_url())
示例#6
0
class CompanyAdminViewTests(TestCase):
    def setUp(self):
        password = '******'
        owner = User(username='******')
        owner.set_password(password)
        owner.full_clean()
        owner.save()

        admin = User(username='******')
        admin.is_staff = True
        admin.set_password(password)
        admin.full_clean()
        admin.save()

        self.company = Company(name='Tramcar', url='http://www.tramcar.org',
                               site_id=1, user_id=owner.id)
        self.company.full_clean()
        self.company.save()

        self.client.post(
          '/login/',
          {'username': admin.username, 'password': password}
        )

    def test_edit_get_view(self):
        response = self.client.get(
                       reverse('companies_edit', args=(self.company.id,))
                   )
        self.assertEqual(response.status_code, 200)

    def test_edit_post_view(self):
        company = {
            'name': 'Tramcar',
            'url': 'https://www.tramcar.org',
            'site': 1,
            'user': 1
        }
        response = self.client.post(
                       reverse('companies_edit', args=(self.company.id,)),
                       company
                   )
        # Here we refresh the object otherwise it will show the old content
        # from before the update
        self.company.refresh_from_db()
        self.assertRedirects(response, self.company.get_absolute_url())