Example #1
0
    def test_add_guest(self):
        c = Client()
        c.request(user=self.user)
        c.force_login(self.user)

        data = {
            "first_name": "otto",
            "last_name": "Schuldt",
            "username": "******",
            "password": "******",
            "user_id": self.user.id
        }
        res = c.post("/api/v1/guests", data=data)

        # response should be 200
        self.assertEqual(res.status_code, 200)

        # let's check if guest was created
        guest_qs = User.objects.filter(username="******")
        self.assertTrue(guest_qs.exists())

        # Let's check if new user is a guest
        guest = guest_qs.get()

        self.assertTrue(hasattr(guest, "guest"))
Example #2
0
class AuthTest(TestCase):
    def setUp(self):
        self.client = Client()

    def test_login_page(self):
        "Test login/logout page"
        request = self.client.get(reverse('hello_login'))
        self.assertEqual(request.status_code, 200)
        self.assertContains(request, '</form>')
        self.assertFalse(
            self.client.request().context['user'].is_authenticated()
        )
        self.client.post(reverse('hello_login'),
                         {'username': '******', 'password': '******'})
        self.assertTrue(
            self.client.request().context['user'].is_authenticated()
        )
        request = self.client.get(reverse('hello_login'))
        self.assertNotContains(request, '</form>')
        self.client.get(reverse('hello_logout'))
        self.assertFalse(
            self.client.request().context['user'].is_authenticated()
        )

    def test_index_page(self):
        "Test index template for auth"
        request = self.client.get(reverse('index'))
        self.assertContains(request, 'login')
        self.client.post(reverse('hello_login'),
                         {'username': '******', 'password': '******'})
        request = self.client.get(reverse('index'))
        self.assertContains(request, 'logout')
Example #3
0
    def test_show_all_gifts(self):
        c = Client()
        c.request(user=self.user)
        c.force_login(self.user)

        res = c.get("/api/v1/gifts")

        self.assertEqual(res.status_code, 200)
Example #4
0
def test_logout(client: Client) -> None:
    """Assert that logging out successfully logs the user out."""
    user = create_test_user()

    client.force_login(user)

    assert client.request().context.get("user").is_authenticated
    client.get("/logout/")
    assert not client.request().context.get("user").is_authenticated
Example #5
0
    def test_remove_gift_from_wedding_list(self):
        # Let's create a fake wedding list for user
        GiftList.objects.create(user=self.user, gift=self.product)

        c = Client()
        c.request(user=self.user)
        c.force_login(self.user)

        res = c.delete("/api/v1/wedding-list",
                       data={
                           "gift_id": self.product.id,
                           "user_id": self.user.id,
                       })

        self.assertTrue(res.status_code, 200)
Example #6
0
 def testName(self):
     cl = Client()
     url = reverse('rnr.views_old.add_new_work')
     #print 'creating work'#, simplejson.dumps(self.kargs)
     print 'posting', url, self.kargs
     print 'response:', cl.post(url, data=self.kargs, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
     print 'request',cl.request()
Example #7
0
    def test_get_wedding_list(self):
        # Let's create a fake wedding list for user
        GiftList.objects.create(user=self.user, gift=self.product)

        c = Client()
        c.request(user=self.user)
        c.force_login(self.user)

        res = c.get("/api/v1/wedding-list?user_id=%s" % self.user.id)

        # response should be 200.
        self.assertEqual(res.status_code, 200)

        # response data should contain info of the recent added gift...
        res_data = res.json()
        self.assertTrue(res_data["user_id"] == self.user.id)
        self.assertTrue(res_data["gifts"][0]["gift_id"] == self.product.id)
Example #8
0
    def test_purchase_gift(self):
        # Let's create a fake wedding list for user
        GiftList.objects.create(user=self.user, gift=self.product)

        # Let's add a guest
        user_guest = User.objects.create(
            username="******",
            password=ViewsTestCases.PASSWORD,
        )

        Guest.objects.create(user=user_guest, inviter=self.user)

        c = Client()
        c.request(user=user_guest)
        c.force_login(user_guest)

        res = c.post("/api/v1/wedding-list",
                     data={
                         "gift_id": self.product.id,
                         "user_id": self.user.id,
                     })

        self.assertTrue(res.status_code, 200)
Example #9
0
class CampotecImportInscriptionsTest(TestCase):
    def setUp(self):
        initial_campotec = InitialCampotec()
        initial_campotec.create_groups_user()
        initial_campotec.create_users()
        initial_campotec.create_branches()

        self.client = Client()

        self.file_import_inscription = os.path.join(
            settings.BASE_DIR, 'campotec', 'tests',
            'inscricoesDadosAssociadosESCOTEIROS.xls')
        self.file_export_inscription = os.path.join(settings.BASE_DIR,
                                                    'campotec', 'tests',
                                                    'teste_exportacao.xls')

        self.create_specialties()
        self.import_inscription()

    # def test_login(self):
    #     response = self.client.login(username="******", password="******")
    #     self.assertTrue(response)

    def import_inscription(self):
        """
        Testa a importação do arquivo xls para o ramo escoteiro.
        """
        branch = Branch.objects.get(name=u"Ramo Escoteiro")
        upload_file = open(self.file_import_inscription, 'r')
        form_data = {
            'name': "Teste 1",
            'branch': branch.pk,
        }
        form_data_file = {
            'file': SimpleUploadedFile(upload_file.name, upload_file.read()),
        }

        form = ImportInscriptionsForm(data=form_data, files=form_data_file)
        self.assertTrue(form.is_valid())
        form.save()
        self.assertEqual(ImportInscriptions.objects.count(), 1)
        self.assertEqual(User.objects.count(), 335)
        self.inscription_users()

    def create_specialties(self):
        """
        Cria especialidades para utilizar nos testes
        """

        branch_escoteiro = Branch.objects.get(name='Ramo Escoteiro')

        LIST_SPECIALTIES = [
            # PRIMEIRO DIA
            {
                'id': 1,
                'name': u'Primeiros Socorros',
                'description': '',
                'date': datetime(2015, 3, 7),
                'turn': Specialty.TURN_MORNING,
                'num_places': 5,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },
            {
                'id': 2,
                'name': u'Coleções',
                'description': '',
                'date': datetime(2015, 3, 7),
                'turn': Specialty.TURN_AFTER,
                'num_places': 5,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },
            {
                'id': 3,
                'name': u'Pioneiria',
                'description': '',
                'date': datetime(2015, 3, 7),
                'turn': Specialty.TURN_ALL_DAY,
                'num_places': 5,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },

            # SEGUNDO DIA
            {
                'id': 4,
                'name': u'Informática',
                'description': '',
                'date': datetime(2015, 3, 8),
                'turn': Specialty.TURN_MORNING,
                'num_places': 10,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },
            {
                'id': 5,
                'name': u'Fotografia',
                'description': '',
                'date': datetime(2015, 3, 8),
                'turn': Specialty.TURN_AFTER,
                'num_places': 9,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },
            {
                'id': 6,
                'name': u'Sapador',
                'description': '',
                'date': datetime(2015, 3, 8),
                'turn': Specialty.TURN_ALL_DAY,
                'num_places': 8,
                'level_1': True,
                'branch': branch_escoteiro,
                'active': ACTIVE,
            },
        ]

        for item in LIST_SPECIALTIES:
            Specialty.objects.create(id=item['id'],
                                     name=item['name'],
                                     description=item['description'],
                                     date=item['date'],
                                     turn=item['turn'],
                                     num_places=item['num_places'],
                                     level_1=item['level_1'],
                                     branch=item['branch'],
                                     active=item['active'])

        self.assertEqual(Specialty.objects.count(), len(LIST_SPECIALTIES))

    def inscription_users(self):
        """
        Numero de registro dos usuarios importados no teste:
            770115
            819519
            738795
            593754
            697030
        """
        # Adrian Silva do Nascimento
        user = User.objects.get(username='******')
        user.specialty_set.add(
            Specialty.objects.get(id=1))  #primeiros socorros - manha
        user.specialty_set.add(Specialty.objects.get(id=2))  # Coleções - tarde
        user.specialty_set.add(
            Specialty.objects.get(id=6))  # Sapador - dia inteiro
        self.assertEqual(user.specialty_set.count(), 3)

        # ALESSANDRO RIBEIRO DORNELES
        user = User.objects.get(username='******')
        user.specialty_set.add(
            Specialty.objects.get(id=3))  # Pioneiria - dia inteiro
        user.specialty_set.add(
            Specialty.objects.get(id=4))  # Informatica - manha
        user.specialty_set.add(
            Specialty.objects.get(id=5))  # Fotografia - tarde
        self.assertEqual(user.specialty_set.count(), 3)

        # BRUNO BECKER SILVA
        user = User.objects.get(username='******')
        user.specialty_set.add(
            Specialty.objects.get(id=1))  # Primeiros socorros - manha
        user.specialty_set.add(Specialty.objects.get(id=2))  # coleções - tarde
        user.specialty_set.add(
            Specialty.objects.get(id=4))  # Informatica - manhã
        user.specialty_set.add(
            Specialty.objects.get(id=5))  # Fotografia - tarde
        self.assertEqual(user.specialty_set.count(), 4)

        # CAIO MOREIRA LEME
        user = User.objects.get(username='******')
        user.specialty_set.add(
            Specialty.objects.get(id=3))  # Pioneiria - dia inteiro
        user.specialty_set.add(
            Specialty.objects.get(id=6))  # Sapador - dia inteiro
        self.assertEqual(user.specialty_set.count(), 2)

        # Luiza Schiller Beliziario Conceição - SEM ESPECIALIDADES CADASTRADAS

    def test_export_inscriptions(self):
        """
        Testa a exportação dos usuários inscritos em especialidades
        """
        queryset = Branch.objects.filter(name='Ramo Escoteiro')

        request = self.client.request()
        request.user = User.objects.get(username='******')

        workbook = Branch.export_xls_users_by_specialty(request, queryset)
        workbook.save(self.file_export_inscription)