Exemplo n.º 1
0
 def test_always_calls_with_quantity(self):
     with patch("test.generic.tests.test_recipes.choice") as choice_mock:
         choice.return_value = "foo"
         l = ["foo", "bar", "spam", "eggs"]
         r = Recipe(DummyBlankFieldsModel, blank_char_field=lambda: choice(l))
         r.make(_quantity=3)
         self.assertEqual(choice_mock.call_count, 3)
Exemplo n.º 2
0
 def test_always_calls_with_quantity(self):
     with patch('test.generic.tests.test_recipes.choice') as choice_mock:
         l = ['foo', 'bar', 'spam', 'eggs']
         r = Recipe(DummyBlankFieldsModel,
             blank_char_field = lambda: choice(l)
         )
         r.make(_quantity=3)
         self.assertEqual(choice_mock.call_count, 3)
Exemplo n.º 3
0
    def test_defining_recipes_str(self):
        from model_mommy.recipe import seq

        p = Recipe("generic.Person", name=seq("foo"))
        try:
            p.make(_quantity=5)
        except AttributeError as e:
            self.fail("%s" % e)
Exemplo n.º 4
0
 def test_defining_recipes_str(self):
     from model_mommy.recipe import seq
     p = Recipe('generic.Person',
         name=seq('foo')
     )
     try:
         p.make(_quantity=5)
     except AttributeError, e:
         self.fail('%s' %e)
Exemplo n.º 5
0
 def test_always_calls_when_creating(self):
     with patch('test.generic.tests.test_recipes.choice') as choice_mock:
         choice.return_value = 'foo'
         l = ['foo', 'bar', 'spam', 'eggs']
         r = Recipe(DummyBlankFieldsModel,
             blank_char_field = lambda: choice(l)
         )
         r.make().blank_char_field
         r.make().blank_char_field
         self.assertEqual(choice_mock.call_count, 2)
Exemplo n.º 6
0
 def setUp(self):
     self.endereco_base = 'Rua Baronesa, 175'
     self.cidade_base = 'Rio de Janeiro'
     self.lat_base = -22.8950148
     self.lng_base = -43.3542673
     self.imovel = mommy.make(Imovel)
     self.basic_imovel_recipe = Recipe(Imovel, latitude=None, longitude=None)
     imoveis_recipe = Recipe(Imovel,
                             endereco=self.endereco_base,
                             cidade=self.cidade_base,
                             latitude=self.lat_base,
                             longitude=self.lng_base,
                             disponivel=cycle([False, True])
                             )
     # Cria 9 imóveis alterando disponíveis e indisponíveis
     imoveis_recipe.make(_quantity=9)
Exemplo n.º 7
0
    def test_only_iterators_not_iteratables_are_iterated(self):
        """Ensure we only iterate explicit iterators.

        Consider "iterable" vs "iterator":

        Something like a string is "iterable", but not an "iterator". We don't
        want to iterate "iterables", only explicit "iterators".

        """
        r = Recipe(DummyBlankFieldsModel, blank_text_field="not an iterator, so don't iterate!")
        self.assertEqual(r.make().blank_text_field, "not an iterator, so don't iterate!")
Exemplo n.º 8
0
 def test_make_recipe_without_all_model_needed_data(self):
     person_recipe = Recipe(Person, name='John Doe')
     person = person_recipe.make()
     self.assertEqual('John Doe', person.name)
     self.assertTrue(person.nickname)
     self.assertTrue(person.age)
     self.assertTrue(person.bio)
     self.assertTrue(person.birthday)
     self.assertTrue(person.appointment)
     self.assertTrue(person.blog)
     self.assertTrue(person.wanted_games_qtd)
     self.assertTrue(person.id)
Exemplo n.º 9
0
Arquivo: tests.py Projeto: dvl/pyclub
class TestPostModel(TestCase):
    def setUp(self):
        self.recipe = Recipe(Post, slug=None)

    def test_str(self):
        post = self.recipe.make(title='foobar')
        self.assertEqual(post.__str__(), 'foobar')

    def test_get_absolute_url(self):
        post = self.recipe.make(title='foobar')
        self.assertEqual(post.get_absolute_url(), '/foobar/')

    def test_queryset(self):
        # cria 2 posts
        self.recipe.make(status=cycle([Post.FINISHED, Post.DRAFT]), _quantity=2)

        # Aprova os finalizados
        Post.objects.filter(status=Post.FINISHED).update(approved=True)

        # cria mais 2 posts para termos finalizados não aprovados
        self.recipe.make(status=cycle([Post.FINISHED, Post.DRAFT]), _quantity=2)

        self.assertEqual(Post.objects.finished().count(), 2)
        self.assertEqual(Post.objects.draft().count(), 2)
        self.assertEqual(Post.objects.approved().count(), 1)
        self.assertEqual(Post.objects.live().count(), 1)
Exemplo n.º 10
0
class Fixtures:
    def create_employer(self):
        emp = models.Employer.objects.create(name="ACME", id=1, nochallenge=True, active2015=True, active2016=True)
        emp.save()
    
    def leg_setup(self):
        self.survey_recipe = Recipe(models.Commutersurvey)
        self.all_modes = models.Mode.objects.all()
        self.leg_recipe = Recipe(
            models.Leg,
            checkin = self.survey_recipe.make(),
            mode = cycle(self.all_modes)
        )

    def generate_leg_set(self, checkin):
        # generates a set of legs to associate with a given checkin
        # set is complete in the sense of having 1+ leg per direction/day pair
        self.leg_recipe.make(day='w', direction='fw', checkin=checkin, _quantity=randint(1,3))
        self.leg_recipe.make(day='w', direction='tw', checkin=checkin, _quantity=randint(1,3))
        self.leg_recipe.make(day='n', direction='fw', checkin=checkin, _quantity=randint(1,3))
        self.leg_recipe.make(day='n', direction='tw', checkin=checkin, _quantity=randint(1,3))

    def create_legs(self):
        self.leg_setup()
        checkin = self.survey_recipe.make()
        self.generate_leg_set(checkin)
        checkin.save()
        return (self.leg_recipe, checkin)
Exemplo n.º 11
0
    def test_do_query_lookup_empty_recipes(self):
        """
          It should not attempt to create other object when
          using query lookup syntax
        """
        dog_recipe = Recipe(Dog)
        dog = dog_recipe.make(owner__name='James')
        self.assertEqual(Person.objects.count(), 1)
        self.assertEqual(dog.owner.name, 'James')

        dog = dog_recipe.prepare(owner__name='Zezin')
        self.assertEqual(Person.objects.count(), 1)
        self.assertEqual(dog.owner.name, 'Zezin')
def description_updatable_models():
    cost_or_pricing_data = daims_maps["cost_or_pricing_data_map"].keys()
    multiple_or_single_award_i = daims_maps["multiple_or_single_award_i_map"].keys()
    cost_accounting_standards = daims_maps["cost_accounting_standards_map"].keys()
    fed_biz_opps = daims_maps["fed_biz_opps_map"].keys()
    action_type = ["A", "B", "C", "D"]

    transaction_contract_recipe = Recipe(
        TransactionFPDS,
        cost_or_pricing_data=cycle(cost_or_pricing_data),
        multiple_or_single_award_i=cycle(multiple_or_single_award_i),
        cost_accounting_standards=cycle(cost_accounting_standards),
        fed_biz_opps=cycle(fed_biz_opps),
        transaction__action_type=cycle(action_type)
    )

    transaction_assistance_recipe = Recipe(
        TransactionFABS,
        transaction__action_type=cycle(action_type)
    )

    transaction_contract_recipe.make(_quantity=10)
    transaction_assistance_recipe.make(_quantity=10)
def aggregate_models():
    """Set up data for testing aggregate functions."""
    award_uri = [None, 'yo', 'yo', 'yo']
    award_fain = [None, None, '123']
    award_piid = ['abc', 'def', None]

    award_types = ['U', 'B', '05', 'B']
    start_dates = [
        datetime.date(2016, 7, 13),
        datetime.date(2017, 1, 1),
        datetime.date(
            2018,
            6,
            1, ),
        datetime.date(
            2018,
            1,
            1, ),
    ]
    end_dates = [
        datetime.date(2018, 12, 31), datetime.date(2020, 1, 1),
        datetime.date(2050, 7, 14), datetime.date(2050, 7, 14)
    ]
    obligated_amts = [1000.01, 2000, None, 4000.02]

    # create awards
    award_recipe = Recipe(
        Award,
        piid=cycle(award_piid),
        fain=cycle(award_fain),
        uri=cycle(award_uri),
        type=cycle(award_types),
        period_of_performance_start_date=cycle(start_dates),
        period_of_performance_current_end_date=cycle(end_dates),
        total_obligation=cycle(obligated_amts), )

    award_recipe.make(_quantity=4)
Exemplo n.º 14
0
class IndexTest(TestCase):

    def setUp(self):
        last_hour = datetime.now() - timedelta(hours=1)
        # Next hour has 1 minute more because the delay between
        # the creation of the event and the test execution
        next_hour = datetime.now() + timedelta(minutes=61)
        self.event_last_hour = Recipe(Event, ends=last_hour, published=True)
        self.event_next_hour = Recipe(Event, ends=next_hour, published=True)
        self.event_unpublished = Recipe(Event, ends=next_hour, published=False)

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

    def test_index_event_list(self):
        self.event_last_hour.make(_quantity=1)
        self.event_next_hour.make(_quantity=1)
        self.event_unpublished.make(_quantity=1)
        response = client.get(reverse('index'))
        self.assertEqual(response.context_data.get('event_list').count(), 1)
Exemplo n.º 15
0
 def test_accepts_generators(self):
     r = Recipe(DummyBlankFieldsModel,
                blank_char_field=itertools.cycle(['a', 'b']))
     self.assertEqual('a', r.make().blank_char_field)
     self.assertEqual('b', r.make().blank_char_field)
     self.assertEqual('a', r.make().blank_char_field)
Exemplo n.º 16
0
class BadgeAssertionTestModel(TestCase):
    def setUp(self):
        djconfig.reload_maybe(
        )  # https://github.com/nitely/django-djconfig/issues/31#issuecomment-451587942

        # needed because BadgeAssertions use a default that might not exist yet
        self.sem = mommy.make('courses.semester',
                              pk=djconfig.config.hs_active_semester)

        self.teacher = Recipe(User, is_staff=True).make(
        )  # need a teacher or student creation will fail.
        self.student = mommy.make(User)
        self.assertion = mommy.make(BadgeAssertion, semester=self.sem)
        self.badge = Recipe(Badge, xp=20).make()

        self.badge_assertion_recipe = Recipe(BadgeAssertion,
                                             user=self.student,
                                             badge=self.badge,
                                             semester=self.sem)

    def test_badge_assertion_creation(self):
        self.assertIsInstance(self.assertion, BadgeAssertion)
        self.assertEqual(str(self.assertion), self.assertion.badge.name)

    def test_badge_assertion_url(self):
        self.assertEquals(
            self.client.get(self.assertion.get_absolute_url(),
                            follow=True).status_code, 200)

    def test_badge_assertion_count(self):
        num = 5
        for _ in range(num):
            badge_assertion = BadgeAssertion.objects.create_assertion(
                self.student, self.badge, issued_by=self.teacher)

        # Why doesn't below work?
        # badge_assertion = self.badge_assertion_recipe.make()
        count = badge_assertion.count()
        # print(num, count)
        self.assertEquals(num, count)

    def test_badge_assertion_count_bootstrap_badge(self):
        """Returns empty string if count < 2, else returns proper count"""
        badge_assertion = mommy.make(BadgeAssertion, semester=self.sem)
        self.assertEquals(badge_assertion.count_bootstrap_badge(), "")

        num = 4
        for _ in range(num):
            badge_assertion = BadgeAssertion.objects.create_assertion(
                self.student, self.badge, issued_by=self.teacher)
            # Why doesn't below work?
            # badge_assertion = self.badge_assertion_recipe.make()
        count = badge_assertion.count_bootstrap_badge()
        # print(num, count)
        self.assertEquals(num, count)

    def test_badge_assertion_get_duplicate_assertions(self):
        num = 5
        values = []
        for _ in range(num):
            badge_assertion = self.badge_assertion_recipe.make()
            values.append(repr(badge_assertion))

        qs = badge_assertion.get_duplicate_assertions()
        self.assertQuerysetEqual(
            list(qs),
            values,
        )

    def test_badge_assertion_manager_create_assertion(self):
        new_assertion = BadgeAssertion.objects.create_assertion(
            self.student, mommy.make(Badge), self.teacher)
        self.assertIsInstance(new_assertion, BadgeAssertion)

    def test_badge_assertion_manager_xp_to_date(self):
        xp = BadgeAssertion.objects.calculate_xp_to_date(
            self.student, timezone.now())
        self.assertEqual(xp, 0)

        # give them a badge assertion and make sure the XP works
        BadgeAssertion.objects.create_assertion(self.student, self.badge,
                                                self.teacher)
        xp = BadgeAssertion.objects.calculate_xp_to_date(
            self.student, timezone.now())
        self.assertEqual(xp, self.badge.xp)

    def test_badge_assertion_manager_get_by_type_for_user(self):
        badge_list_by_type = BadgeAssertion.objects.get_by_type_for_user(
            self.student)
        self.assertIsInstance(badge_list_by_type, list)
        # TODO need to test this properly

    def test_badge_assertion_manager_check_for_new_assertions(self):
        BadgeAssertion.objects.check_for_new_assertions(self.student)
        # TODO need to test this properly

    def test_fraction_of_active_users_granted_this(self):
        num_students_with_badge = 3

        students_with_badge = mommy.make(User,
                                         _quantity=num_students_with_badge)
        self.assertEqual(len(students_with_badge), num_students_with_badge)

        total_students = User.objects.filter(is_active=True).count()

        badge = mommy.make(Badge)

        for student in students_with_badge:
            mommy.make(BadgeAssertion, user=student, badge=badge)

        fraction = badge.fraction_of_active_users_granted_this()
        self.assertEqual(fraction, num_students_with_badge / total_students)

        percentile = badge.percent_of_active_users_granted_this()
        self.assertEqual(percentile,
                         num_students_with_badge / total_students * 100)
Exemplo n.º 17
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
          'name': 'John Doe',
          'nickname': 'joe',
          'age': 18,
          'bio': 'Someone in the crowd',
          'birthday': now().date(),
          'appointment': now(),
          'blog': 'http://joe.blogspot.com',
          'wanted_games_qtd': 4,
          'birth_time': now()
        }
        self.person_recipe = Recipe(
          Person,
          **self.recipe_attrs
        )

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel,
            blank_char_field = lambda: 'callable!!'
        )
        value = r.make().blank_char_field
        self.assertEqual(value, 'callable!!')

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)
Exemplo n.º 18
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
            "name": "John Doe",
            "nickname": "joe",
            "age": 18,
            "bio": "Someone in the crowd",
            "birthday": now().date(),
            "appointment": now(),
            "blog": "http://joe.blogspot.com",
            "wanted_games_qtd": 4,
            "birth_time": now(),
        }
        self.person_recipe = Recipe(Person, **self.recipe_attrs)

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel, blank_char_field=lambda: "callable!!")
        value = r.make().blank_char_field
        self.assertEqual(value, "callable!!")

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name="Guido", age=56)
        self.assertNotEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.name, "Guido")

        self.assertNotEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name="Guido", age=56)
        self.assertNotEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.name, "Guido")

        self.assertNotEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertEqual(person.id, None)

    def test_make_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name="John Doe")
        person = person_recipe.make()
        self.assertEqual("John Doe", person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertTrue(person.id)

    def test_prepare_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name="John Doe")
        person = person_recipe.prepare()
        self.assertEqual("John Doe", person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertFalse(person.id)
Exemplo n.º 19
0
    def setUp(self):
        super(ItemManagerTest, self).setUp()
        self.basic_workspace()

        item = Recipe('item.Item', matter=self.matter)
        revision = Recipe('attachment.Revision')
        task = Recipe('task.Task')

        """
        Item: Generic
        """
        # item, revisions: 0
        self.item1 = item.make()

        # item (completed), revisions: 0
        self.item2 = item.make(is_complete=True)

        # item, revisions: 0, responsible: user
        self.item3 = item.make(responsible_party=self.user)

        # item (completed), revisions: 0, responsible: user
        self.item4 = item.make(is_complete=True, responsible_party=self.user)

        # item, revisions: 0, responsible: other
        self.item5 = item.make(responsible_party=self.lawyer)

        # item (completed), revisions: 0, responsible: other
        self.item6 = item.make(is_complete=True, responsible_party=self.lawyer)

        """
        Item: Requested
        """
        # item (requested), revisions: 0, responsible: user
        self.item7 = item.make(is_requested=True, responsible_party=self.user)

        # item (completed, requested), revisions: 0, responsible: user
        self.item8 = item.make(is_complete=True, is_requested=True, responsible_party=self.user)

        # item (requested), revisions: 0, responsible: other
        self.item9 = item.make(is_requested=True, responsible_party=self.lawyer)

        # item (completed, requested), revisions: 0, responsible: other
        self.item10 = item.make(is_complete=True, is_requested=True, responsible_party=self.lawyer)

        """
        Item: Needs Review
        """
        # item (in review), revision: stale, reviewer: user
        self.item11 = item.make()
        self.item11revs = revision.make(item=self.item11, _quantity=2)
        self.item11revs[0].reviewers.add(self.user)

        # item (in review, completed), revision: stale, reviewer: user
        self.item12 = item.make(is_complete=True)
        self.item12revs = revision.make(item=self.item12, _quantity=2)
        self.item12revs[0].reviewers.add(self.user)

        # item (in review), revision: stale, reviewer: other
        self.item13 = item.make()
        self.item13revs = revision.make(item=self.item13, _quantity=2)
        self.item13revs[0].reviewers.add(self.lawyer)

        # item (in review, completed), revision: stale, reviewer: other
        self.item14 = item.make(is_complete=True)
        self.item14revs = revision.make(item=self.item14, _quantity=2)
        self.item14revs[0].reviewers.add(self.lawyer)

        # item (reviewed), revision: stale, reviewer: user
        self.item15 = item.make()
        self.item15revs = revision.make(item=self.item15, _quantity=2)
        self.item15revs[0].reviewers.add(self.user)
        self.item15revs[0].reviewdocument_set.filter(reviewers__in=[self.user]).update(is_complete=True)

        # item (reviewed, completed), revision: stale, reviewer: user
        self.item16 = item.make(is_complete=True)
        self.item16revs = revision.make(item=self.item16, _quantity=2)
        self.item16revs[0].reviewers.add(self.user)
        self.item16revs[0].reviewdocument_set.filter(reviewers__in=[self.user]).update(is_complete=True)

        # item (reviewed), revision: stale, reviewer: other
        self.item17 = item.make()
        self.item17revs = revision.make(item=self.item17, _quantity=2)
        self.item17revs[0].reviewers.add(self.lawyer)
        self.item17revs[0].reviewdocument_set.filter(reviewers__in=[self.lawyer]).update(is_complete=True)

        # item (reviewed, completed), revision: stale, reviewer: other
        self.item18 = item.make(is_complete=True)
        self.item18revs = revision.make(item=self.item18, _quantity=2)
        self.item18revs[0].reviewers.add(self.lawyer)
        self.item18revs[0].reviewdocument_set.filter(reviewers__in=[self.lawyer]).update(is_complete=True)

        # item (in review), revision: current, reviewer: user
        self.item19 = item.make()
        self.item19revs = revision.make(item=self.item19, _quantity=2)
        self.item19revs[1].reviewers.add(self.user)

        # item (in review, completed), revision: current, reviewer: user
        self.item20 = item.make(is_complete=True)
        self.item20revs = revision.make(item=self.item20, _quantity=2)
        self.item20revs[1].reviewers.add(self.user)

        # item (in review), revision: current, reviewer: other
        self.item21 = item.make()
        self.item21revs = revision.make(item=self.item21, _quantity=2)
        self.item21revs[1].reviewers.add(self.lawyer)

        # item (in review, completed), revision: current, reviewer: other
        self.item22 = item.make(is_complete=True)
        self.item22revs = revision.make(item=self.item22, _quantity=2)
        self.item22revs[1].reviewers.add(self.lawyer)

        # item (reviewed), revision: current, reviewer: user
        self.item23 = item.make()
        self.item23revs = revision.make(item=self.item23, _quantity=2)
        self.item23revs[1].reviewers.add(self.user)
        self.item23revs[1].reviewdocument_set.filter(reviewers__in=[self.user]).update(is_complete=True)

        # item (reviewed, completed), revision: current, reviewer: user
        self.item24 = item.make(is_complete=True)
        self.item24revs = revision.make(item=self.item24, _quantity=2)
        self.item24revs[1].reviewers.add(self.user)
        self.item24revs[1].reviewdocument_set.filter(reviewers__in=[self.user]).update(is_complete=True)

        # item (reviewed), revision: current, reviewer: other
        self.item25 = item.make()
        self.item25revs = revision.make(item=self.item25, _quantity=2)
        self.item25revs[1].reviewers.add(self.lawyer)
        self.item25revs[1].reviewdocument_set.filter(reviewers__in=[self.lawyer]).update(is_complete=True)

        # item (reviewed, completed), revision: current, reviewer: other
        self.item26 = item.make(is_complete=True)
        self.item26revs = revision.make(item=self.item26, _quantity=2)
        self.item26revs[1].reviewers.add(self.lawyer)
        self.item26revs[1].reviewdocument_set.filter(reviewers__in=[self.lawyer]).update(is_complete=True)

        """
        Item: Needs Signing
        """
        # item (needs signing), revision: stale, signatory: user
        self.item27 = item.make()
        self.item27revs = revision.make(item=self.item27, _quantity=2)
        self.item27revs[0].signers.add(self.user)

        # item (needs signing, completed), revision: stale, signatory: user
        self.item28 = item.make(is_complete=True)
        self.item28revs = revision.make(item=self.item28, _quantity=2)
        self.item28revs[0].signers.add(self.user)

        # item (needs signing), revision: stale, signatory: other
        self.item29 = item.make()
        self.item29revs = revision.make(item=self.item29, _quantity=2)
        self.item29revs[0].signers.add(self.lawyer)

        # item (needs signing, completed), revision: stale, signatory: other
        self.item30 = item.make(is_complete=True)
        self.item30revs = revision.make(item=self.item30, _quantity=2)
        self.item30revs[0].signers.add(self.lawyer)

        # item (signed), revision: stale, signatory: user
        self.item31 = item.make()
        self.item31revs = revision.make(item=self.item31, _quantity=2)
        self.item31revs[0].signers.add(self.user)
        self.item31signs = self.get_signed_request(self.item31revs[0], self.user)

        # item (signed, completed), revision: stale, signatory: user
        self.item32 = item.make(is_complete=True)
        self.item32revs = revision.make(item=self.item32, _quantity=2)
        self.item32revs[0].signers.add(self.user)
        self.item32signs = self.get_signed_request(self.item32revs[0], self.user)

        # item (signed), revision: stale, signatory: other
        self.item33 = item.make()
        self.item33revs = revision.make(item=self.item33, _quantity=2)
        self.item33revs[0].signers.add(self.lawyer)
        self.item33signs = self.get_signed_request(self.item33revs[0], self.lawyer)

        # item (signed, completed), revision: stale, signatory: other
        self.item34 = item.make(is_complete=True)
        self.item34revs = revision.make(item=self.item34, _quantity=2)
        self.item34revs[0].signers.add(self.lawyer)
        self.item34signs = self.get_signed_request(self.item34revs[0], self.lawyer)

        # item (all signed), revision: stale, signatory: user
        self.item35 = item.make()
        self.item35revs = revision.make(item=self.item35, _quantity=2)
        self.item35revs[0].signers.add(self.user)
        self.item35signs = self.get_signed_request(self.item35revs[0], self.user)
        self.item35revs[0].primary_signdocument.complete()

        # item (all signed, completed), revision: stale, signatory: user
        self.item36 = item.make(is_complete=True)
        self.item36revs = revision.make(item=self.item36, _quantity=2)
        self.item36revs[0].signers.add(self.user)
        self.item36signs = self.get_signed_request(self.item36revs[0], self.user)
        self.item36revs[0].primary_signdocument.complete()

        # item (all signed), revision: stale, signatory: other
        self.item37 = item.make()
        self.item37revs = revision.make(item=self.item37, _quantity=2)
        self.item37revs[0].signers.add(self.lawyer)
        self.item37signs = self.get_signed_request(self.item37revs[0], self.lawyer)
        self.item37revs[0].primary_signdocument.complete()

        # item (all signed, completed), revision: stale, signatory: other
        self.item38 = item.make(is_complete=True)
        self.item38revs = revision.make(item=self.item38, _quantity=2)
        self.item38revs[0].signers.add(self.lawyer)
        self.item38signs = self.get_signed_request(self.item38revs[0], self.lawyer)
        self.item38revs[0].primary_signdocument.complete()

        # item (needs signing), revision: current, signatory: user
        self.item39 = item.make()
        self.item39revs = revision.make(item=self.item39, _quantity=2)
        self.item39revs[1].signers.add(self.user)

        # item (needs signing, completed), revision: current, signatory: user
        self.item40 = item.make(is_complete=True)
        self.item40revs = revision.make(item=self.item40, _quantity=2)
        self.item40revs[1].signers.add(self.user)

        # item (needs signing), revision: current, signatory: other
        self.item41 = item.make()
        self.item41revs = revision.make(item=self.item41, _quantity=2)
        self.item41revs[1].signers.add(self.lawyer)

        # item (needs signing, completed), revision: current, signatory: other
        self.item42 = item.make(is_complete=True)
        self.item42revs = revision.make(item=self.item42, _quantity=2)
        self.item42revs[1].signers.add(self.lawyer)

        # item (signed), revision: current, signatory: user
        self.item43 = item.make()
        self.item43revs = revision.make(item=self.item43, _quantity=2)
        self.item43revs[1].signers.add(self.user)
        self.item43signs = self.get_signed_request(self.item43revs[1], self.user)

        # item (signed, completed), revision: current, signatory: user
        self.item44 = item.make(is_complete=True)
        self.item44revs = revision.make(item=self.item44, _quantity=2)
        self.item44revs[1].signers.add(self.user)
        self.item44signs = self.get_signed_request(self.item44revs[1], self.user)

        # item (signed), revision: current, signatory: other
        self.item45 = item.make()
        self.item45revs = revision.make(item=self.item45, _quantity=2)
        self.item45revs[1].signers.add(self.lawyer)
        self.item45signs = self.get_signed_request(self.item45revs[1], self.lawyer)

        # item (signed, completed), revision: current, signatory: other
        self.item46 = item.make(is_complete=True)
        self.item46revs = revision.make(item=self.item46, _quantity=2)
        self.item46revs[1].signers.add(self.lawyer)
        self.item46signs = self.get_signed_request(self.item46revs[1], self.lawyer)

        # item (all signed), revision: current, signatory: user
        self.item47 = item.make()
        self.item47revs = revision.make(item=self.item47, _quantity=2)
        self.item47revs[1].signers.add(self.user)
        self.item47signs = self.get_signed_request(self.item47revs[1], self.user)
        self.item47revs[1].primary_signdocument.complete()

        # item (all signed, completed), revision: current, signatory: user
        self.item48 = item.make(is_complete=True)
        self.item48revs = revision.make(item=self.item48, _quantity=2)
        self.item48revs[1].signers.add(self.user)
        self.item48signs = self.get_signed_request(self.item48revs[1], self.user)
        self.item48revs[1].primary_signdocument.complete()

        # item (all signed), revision: current, signatory: other
        self.item49 = item.make()
        self.item49revs = revision.make(item=self.item49, _quantity=2)
        self.item49revs[1].signers.add(self.lawyer)
        self.item49signs = self.get_signed_request(self.item49revs[1], self.lawyer)
        self.item49revs[1].primary_signdocument.complete()

        # item (all signed, completed), revision: current, signatory: other
        self.item50 = item.make(is_complete=True)
        self.item50revs = revision.make(item=self.item50, _quantity=2)
        self.item50revs[1].signers.add(self.lawyer)
        self.item50signs = self.get_signed_request(self.item50revs[1], self.lawyer)
        self.item50revs[1].primary_signdocument.complete()

        """
        Item: Mixed
        """
        # item (requested, in review), revision: current, responsible: user, reviewer: user
        self.item51 = item.make()
        self.item51revs = revision.make(item=self.item51, _quantity=2)
        self.item51revs[1].reviewers.add(self.user)
        self.item51.is_requested = True
        self.item51.responsible_party = self.user
        self.item51.save(update_fields=['is_requested', 'responsible_party'])

        # item (requested, needs signing), revision: current, responsible: user, signatory: user
        self.item52 = item.make()
        self.item52revs = revision.make(item=self.item52, _quantity=2)
        self.item52revs[1].signers.add(self.user)
        self.item52.is_requested = True
        self.item52.responsible_party = self.user
        self.item52.save(update_fields=['is_requested', 'responsible_party'])

        # item (in review, needs signing), revision: current, reviewer: user, signatory: user
        self.item53 = item.make()
        self.item53revs = revision.make(item=self.item53, _quantity=2)
        self.item53revs[1].reviewers.add(self.user)
        self.item53revs[1].signers.add(self.user)

        """
        Tasks
        """
        # task, responsible: user
        self.item54 = item.make()
        self.task54 = task.make(item=self.item54, assigned_to=[self.user])

        # task (completed), responsible: user
        self.item55 = item.make()
        self.task55 = task.make(item=self.item55, assigned_to=[self.user], is_complete=True)

        # task, responsible: other
        self.item56 = item.make()
        self.task56 = task.make(item=self.item56, assigned_to=[self.lawyer])

        # task (completed), responsible: other
        self.item57 = item.make()
        self.task57 = task.make(item=self.item57, assigned_to=[self.lawyer], is_complete=True)
Exemplo n.º 20
0
class TestExtraMoney(TestCase):
    """Test TerminalCondition.extra_money()"""

    def setUp(self):
        administrative_unit = mommy.make(
            "aklub.AdministrativeUnit",
            name="test",
        )
        self.bank_account = mommy.make(
            "aklub.BankAccount",
            administrative_unit=administrative_unit,
        )
        self.event = mommy.make(
            "events.event",
            administrative_units=[
                administrative_unit,
            ],
        )
        self.donor_payment_channel = Recipe(
            "aklub.DonorPaymentChannel",
            campaign__name="Foo campaign",
            user__first_name="Foo user",
            money_account=self.bank_account,
            event=self.event,
        )

    def test_extra_payment(self):
        """Test DonorPaymentChannel with extra payment"""
        for model in Profile.__subclasses__():
            model_name = model._meta.model_name
            profile = mommy.make(
                model_name,
                username="******".format(model_name),
            )
            donor_payment_channel = self.donor_payment_channel.make(
                regular_amount=100,
                regular_payments="regular",
                regular_frequency="monthly",
                payment_set=[
                    mommy.make(
                        "Payment",
                        date=datetime.date(year=2016, month=5, day=5),
                        amount=250,
                    ),
                ],
                user=profile,
                money_account=self.bank_account,
            )
            donor_payment_channel.save()
            self.assertEqual(donor_payment_channel.extra_money, 150)
            self.assertEqual(donor_payment_channel.extra_payments(), "150&nbsp;Kč")

    def test_payment_too_old(self):
        """Test that if the payment is older than 27 days, it is not counted in"""
        for model in Profile.__subclasses__():
            model_name = model._meta.model_name
            profile = mommy.make(
                model_name,
                username="******".format(model_name),
            )
            donor_payment_channel = self.donor_payment_channel.make(
                regular_amount=100,
                regular_payments="regular",
                regular_frequency="monthly",
                payment_set=[
                    mommy.make(
                        "Payment",
                        date=datetime.date(year=2016, month=5, day=4),
                        amount=250,
                    ),
                ],
                user=profile,
                money_account=self.bank_account,
            )
            donor_payment_channel.save()
            self.assertEqual(donor_payment_channel.extra_money, None)
            self.assertEqual(donor_payment_channel.extra_payments(), ICON_FALSE)

    def test_no_extra_payment(self):
        """Test DonorPaymentChannel with extra payment"""
        for model in Profile.__subclasses__():
            model_name = model._meta.model_name
            profile = mommy.make(
                model_name,
                username="******".format(model_name),
            )
            donor_payment_channel = self.donor_payment_channel.make(
                regular_amount=100,
                regular_payments="regular",
                regular_frequency="monthly",
                user=profile,
                money_account=self.bank_account,
            )
            donor_payment_channel.save()
            self.assertEqual(donor_payment_channel.extra_money, None)
            self.assertEqual(donor_payment_channel.extra_payments(), ICON_FALSE)

    def test_no_frequency(self):
        """Test DonorPaymentChannel with no regular frequency"""
        for model in Profile.__subclasses__():
            model_name = model._meta.model_name
            profile = mommy.make(
                model_name,
                username="******".format(model_name),
            )
            donor_payment_channel = self.donor_payment_channel.make(
                regular_amount=100,
                regular_payments="regular",
                regular_frequency=None,
                user=profile,
                money_account=self.bank_account,
            )
            donor_payment_channel.save()
            self.assertEqual(donor_payment_channel.extra_money, None)
            self.assertEqual(donor_payment_channel.extra_payments(), ICON_FALSE)

    def test_not_regular(self):
        """Test when DonorPaymentChannel is not regular"""
        for model in Profile.__subclasses__():
            model_name = model._meta.model_name
            profile = mommy.make(
                model_name,
                username="******".format(model_name),
            )
            donor_payment_channel = self.donor_payment_channel.make(
                regular_payments="onetime",
                user=profile,
                money_account=self.bank_account,
            )
            self.assertEqual(donor_payment_channel.extra_money, None)
            self.assertEqual(donor_payment_channel.extra_payments(), ICON_FALSE)
Exemplo n.º 21
0
class TestNoUpgrade(TestCase):
    """ Test TerminalCondition.no_upgrade() """
    def setUp(self):
        self.userincampaign = Recipe(
            "aklub.UserInCampaign",
            campaign__name="Foo campaign",
            userprofile__first_name="Foo userprofile",
        )

    def test_not_regular(self):
        """ Test UserInCampaign with regular_payments=False returns False """
        user_in_campaign = self.userincampaign.make(
            regular_payments="onetime", )
        self.assertEqual(
            user_in_campaign.no_upgrade,
            False,
        )

    def test_not_regular_for_one_year(self):
        """ Test UserInCampaign that is not regular for at leas one year """
        user_in_campaign = self.userincampaign.make(
            regular_payments="regular", )
        self.assertEqual(
            user_in_campaign.no_upgrade,
            False,
        )

    def test_no_last_year_payments(self):
        """ Test UserInCampaign that has zero payments from last year """
        user_in_campaign = self.userincampaign.make(
            regular_payments="regular",
            payment_set=[
                mommy.make("Payment",
                           date=datetime.date(year=2010, month=4, day=1)),
            ],
        )
        user_in_campaign.save()
        self.assertEqual(
            user_in_campaign.no_upgrade,
            False,
        )

    def test_missing_payments(self):
        """ Test UserInCampaign that has different amount on payments before one year """
        user_in_campaign = self.userincampaign.make(
            regular_payments="regular",
            payment_set=[
                mommy.make("Payment",
                           date=datetime.date(year=2010, month=4, day=1),
                           amount=100),
                mommy.make("Payment",
                           date=datetime.date(year=2009, month=3, day=1),
                           amount=200),
            ],
        )
        user_in_campaign.save()
        self.assertEqual(
            user_in_campaign.no_upgrade,
            False,
        )

    def test_regular(self):
        """ Test UserInCampaign that has regular payments """
        user_in_campaign = self.userincampaign.make(
            regular_payments="regular",
            payment_set=[
                mommy.make("Payment",
                           date=datetime.date(year=2010, month=4, day=1),
                           amount=100),
                mommy.make("Payment",
                           date=datetime.date(year=2009, month=3, day=1),
                           amount=100),
            ],
        )
        user_in_campaign.save()
        self.assertEqual(
            user_in_campaign.no_upgrade,
            True,
        )
Exemplo n.º 22
0
 def test_empty_iterator_exception(self):
     r = Recipe(DummyBlankFieldsModel,
                blank_char_field=iter(['a', 'b']))
     self.assertEqual('a', r.make().blank_char_field)
     self.assertEqual('b', r.make().blank_char_field)
     self.assertRaises(RecipeIteratorEmpty, r.make)
Exemplo n.º 23
0
class TestExtraMoney(TestCase):
    """ Test TerminalCondition.extra_money() """
    def setUp(self):
        self.userincampaign = Recipe(
            "aklub.UserInCampaign",
            campaign__name="Foo campaign",
            userprofile__first_name="Foo userprofile",
        )

    def test_extra_payment(self):
        """ Test UserInCampaign with extra payment """
        user_in_campaign = self.userincampaign.make(
            regular_amount=100,
            regular_payments="regular",
            regular_frequency="monthly",
            payment_set=[
                mommy.make("Payment",
                           date=datetime.date(year=2016, month=5, day=5),
                           amount=250),
            ],
        )
        user_in_campaign.save()
        self.assertEqual(user_in_campaign.extra_money, 150)
        self.assertEqual(user_in_campaign.extra_payments(), "150&nbsp;Kč")

    def test_payment_too_old(self):
        """ Test that if the payment is older than 27 days, it is not counted in  """
        user_in_campaign = self.userincampaign.make(
            regular_amount=100,
            regular_payments="regular",
            regular_frequency="monthly",
            payment_set=[
                mommy.make("Payment",
                           date=datetime.date(year=2016, month=5, day=4),
                           amount=250),
            ],
        )
        user_in_campaign.save()
        self.assertEqual(user_in_campaign.extra_money, None)
        self.assertEqual(user_in_campaign.extra_payments(), ICON_FALSE)

    def test_no_extra_payment(self):
        """ Test UserInCampaign with extra payment """
        user_in_campaign = self.userincampaign.make(
            regular_amount=100,
            regular_payments="regular",
            regular_frequency="monthly",
        )
        user_in_campaign.save()
        self.assertEqual(user_in_campaign.extra_money, None)
        self.assertEqual(user_in_campaign.extra_payments(), ICON_FALSE)

    def test_no_frequency(self):
        """ Test UserInCampaign with no regular frequency """
        user_in_campaign = self.userincampaign.make(
            regular_amount=100,
            regular_payments="regular",
            regular_frequency=None,
        )
        user_in_campaign.save()
        self.assertEqual(user_in_campaign.extra_money, None)
        self.assertEqual(user_in_campaign.extra_payments(), ICON_FALSE)

    def test_not_regular(self):
        """ Test when UserInCampaign is not regular """
        user_in_campaign = self.userincampaign.make(
            regular_payments="onetime", )
        self.assertEqual(user_in_campaign.extra_money, None)
        self.assertEqual(user_in_campaign.extra_payments(), ICON_FALSE)
Exemplo n.º 24
0
class BadgeAssertionTestModel(TestCase):
    def setUp(self):
        djconfig.reload_maybe(
        )  # https://github.com/nitely/django-djconfig/issues/31#issuecomment-451587942

        User = get_user_model()
        self.teacher = Recipe(User, is_staff=True).make(
        )  # need a teacher or student creation will fail.
        self.student = mommy.make(User)
        self.assertion = mommy.make(BadgeAssertion)
        self.badge = Recipe(Badge, xp=20).make()

        self.badge_assertion_recipe = Recipe(BadgeAssertion,
                                             user=self.student,
                                             badge=self.badge)

    def test_badge_assertion_creation(self):
        self.assertIsInstance(self.assertion, BadgeAssertion)
        self.assertEqual(str(self.assertion), self.assertion.badge.name)

    def test_badge_assertion_url(self):
        self.assertEquals(
            self.client.get(self.assertion.get_absolute_url(),
                            follow=True).status_code, 200)

    def test_badge_assertion_count(self):
        num = randint(1, 9)
        for _ in range(num):
            badge_assertion = BadgeAssertion.objects.create_assertion(
                self.student, self.badge)
            # Why doesn't below work?
            #badge_assertion = self.badge_assertion_recipe.make()
        count = badge_assertion.count()
        # print(num, count)
        self.assertEquals(num, count)

    def test_badge_assertion_count_bootstrap_badge(self):
        """Returns empty string if count < 2, else returns proper count"""
        badge_assertion = mommy.make(BadgeAssertion)
        self.assertEquals(badge_assertion.count_bootstrap_badge(), "")

        num = 2
        for _ in range(num):
            badge_assertion = BadgeAssertion.objects.create_assertion(
                self.student, self.badge)
            # Why doesn't below work?
            #badge_assertion = self.badge_assertion_recipe.make()
        count = badge_assertion.count_bootstrap_badge()
        # print(num, count)
        self.assertEquals(num, count)

    def test_badge_assertion_get_duplicate_assertions(self):
        num = randint(1, 9)
        values = []
        for _ in range(num):
            badge_assertion = self.badge_assertion_recipe.make()
            values.append(repr(badge_assertion))

        qs = badge_assertion.get_duplicate_assertions()
        self.assertQuerysetEqual(
            list(qs),
            values,
        )

    def test_badge_assertion_manager_create_assertion(self):
        new_assertion = BadgeAssertion.objects.create_assertion(
            self.student, mommy.make(Badge))
        self.assertIsInstance(new_assertion, BadgeAssertion)

    def test_badge_assertion_manager_xp_to_date(self):
        xp = BadgeAssertion.objects.calculate_xp_to_date(
            self.student, timezone.now())
        self.assertEqual(xp, 0)

        # give them a badge assertion and make sure the XP works
        BadgeAssertion.objects.create_assertion(self.student, self.badge)
        xp = BadgeAssertion.objects.calculate_xp_to_date(
            self.student, timezone.now())
        self.assertEqual(xp, self.badge.xp)

    def test_badge_assertion_manager_get_by_type_for_user(self):
        badge_list_by_type = BadgeAssertion.objects.get_by_type_for_user(
            self.student)
        self.assertIsInstance(badge_list_by_type, list)
        # TODO need to test this properly

    def test_badge_assertion_manager_check_for_new_assertions(self):
        BadgeAssertion.objects.check_for_new_assertions(self.student)
Exemplo n.º 25
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
            'name': 'John Doe',
            'nickname': 'joe',
            'age': 18,
            'bio': 'Someone in the crowd',
            'birthday': now().date(),
            'appointment': now(),
            'blog': 'http://joe.blogspot.com',
            'wanted_games_qtd': 4,
            'birth_time': now()
        }
        self.person_recipe = Recipe(Person, **self.recipe_attrs)

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd,
                         self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd,
                         self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel,
                   blank_char_field=lambda: 'callable!!')
        value = r.make().blank_char_field
        self.assertEqual(value, 'callable!!')

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd,
                         self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd,
                         self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_make_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.make()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertTrue(person.id)

    def test_prepare_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.prepare()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertFalse(person.id)
Exemplo n.º 26
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
          'name': 'John Doe',
          'nickname': 'joe',
          'age': 18,
          'bio': 'Someone in the crowd',
          'birthday': now().date(),
          'appointment': now(),
          'blog': 'http://joe.blogspot.com',
          'wanted_games_qtd': 4,
          'birth_time': now()
        }
        self.person_recipe = Recipe(
          Person,
          **self.recipe_attrs
        )

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel,
            blank_char_field = lambda: 'callable!!'
        )
        value = r.make().blank_char_field
        self.assertEqual(value, 'callable!!')

    def test_always_calls_when_creating(self):
        with patch('test.generic.tests.test_recipes.choice') as choice_mock:
            choice.return_value = 'foo'
            l = ['foo', 'bar', 'spam', 'eggs']
            r = Recipe(DummyBlankFieldsModel,
                blank_char_field = lambda: choice(l)
            )
            r.make().blank_char_field
            r.make().blank_char_field
            self.assertEqual(choice_mock.call_count, 2)

    def test_always_calls_with_quantity(self):
        with patch('test.generic.tests.test_recipes.choice') as choice_mock:
            choice.return_value = 'foo'
            l = ['foo', 'bar', 'spam', 'eggs']
            r = Recipe(DummyBlankFieldsModel,
                blank_char_field = lambda: choice(l)
            )
            r.make(_quantity=3)
            self.assertEqual(choice_mock.call_count, 3)

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_make_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.make()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertTrue(person.id)

    def test_prepare_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.prepare()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertFalse(person.id)

    def test_defining_recipes_str(self):
        from model_mommy.recipe import seq
        p = Recipe('generic.Person',
            name=seq('foo')
        )
        try:
            p.make(_quantity=5)
        except AttributeError as e:
            self.fail('%s' %e)
Exemplo n.º 27
0
 def test_empty_iterator_exception(self):
     r = Recipe(DummyBlankFieldsModel, blank_char_field=iter(['a', 'b']))
     self.assertEqual('a', r.make().blank_char_field)
     self.assertEqual('b', r.make().blank_char_field)
     self.assertRaises(RecipeIteratorEmpty, r.make)
Exemplo n.º 28
0
 def test_accepts_callable(self):
     r = Recipe(DummyBlankFieldsModel,
                blank_char_field=lambda: 'callable!!')
     value = r.make().blank_char_field
     self.assertEqual(value, 'callable!!')
Exemplo n.º 29
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
          'name': 'John Doe',
          'nickname': 'joe',
          'age': 18,
          'bio': 'Someone in the crowd',
          'birthday': now().date(),
          'appointment': now(),
          'blog': 'http://joe.blogspot.com',
          'wanted_games_qtd': 4,
          'birth_time': now()
        }
        self.person_recipe = Recipe(
          Person,
          **self.recipe_attrs
        )

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel,
            blank_char_field = lambda: 'callable!!'
        )
        value = r.make().blank_char_field
        self.assertEqual(value, 'callable!!')

    def test_always_calls_when_creating(self):
        with patch('test.generic.tests.test_recipes.choice') as choice_mock:
            l = ['foo', 'bar', 'spam', 'eggs']
            r = Recipe(DummyBlankFieldsModel,
                blank_char_field = lambda: choice(l)
            )
            r.make().blank_char_field
            r.make().blank_char_field
            self.assertEqual(choice_mock.call_count, 2)

    def test_always_calls_with_quantity(self):
        with patch('test.generic.tests.test_recipes.choice') as choice_mock:
            l = ['foo', 'bar', 'spam', 'eggs']
            r = Recipe(DummyBlankFieldsModel,
                blank_char_field = lambda: choice(l)
            )
            r.make(_quantity=3)
            self.assertEqual(choice_mock.call_count, 3)

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name='Guido', age=56)
        self.assertNotEqual(person.name, self.recipe_attrs['name'])
        self.assertEqual(person.name, 'Guido')

        self.assertNotEqual(person.age, self.recipe_attrs['age'])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs['nickname'])
        self.assertEqual(person.bio, self.recipe_attrs['bio'])
        self.assertEqual(person.birthday, self.recipe_attrs['birthday'])
        self.assertEqual(person.appointment, self.recipe_attrs['appointment'])
        self.assertEqual(person.blog, self.recipe_attrs['blog'])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs['wanted_games_qtd'])
        self.assertEqual(person.id, None)

    def test_make_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.make()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertTrue(person.id)

    def test_prepare_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name='John Doe')
        person = person_recipe.prepare()
        self.assertEqual('John Doe', person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertFalse(person.id)
Exemplo n.º 30
0
 def create_products(self):
     self.quantity = 2
     recipe = Recipe(Product, title=seq('test'), price=1, count=1)
     recipe.make(_quantity=self.quantity)
Exemplo n.º 31
0
 def test_accepts_iterators(self):
     r = Recipe(DummyBlankFieldsModel,
                blank_char_field=iter(['a', 'b', 'c']))
     self.assertEqual('a', r.make().blank_char_field)
     self.assertEqual('b', r.make().blank_char_field)
     self.assertEqual('c', r.make().blank_char_field)
Exemplo n.º 32
0
class TestDefiningRecipes(TestCase):
    def setUp(self):
        self.recipe_attrs = {
            "name": "John Doe",
            "nickname": "joe",
            "age": 18,
            "bio": "Someone in the crowd",
            "birthday": now().date(),
            "appointment": now(),
            "blog": "http://joe.blogspot.com",
            "wanted_games_qtd": 4,
            "birth_time": now(),
        }
        self.person_recipe = Recipe(Person, **self.recipe_attrs)

    def test_flat_model_make_recipe_with_the_correct_attributes(self):
        """
          A 'flat model' means a model without associations, like
          foreign keys, many to many and one to one
        """
        person = self.person_recipe.make()
        self.assertEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertNotEqual(person.id, None)

    def test_flat_model_prepare_recipe_with_the_correct_attributes(self):
        person = self.person_recipe.prepare()
        self.assertEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertEqual(person.id, None)

    def test_accepts_callable(self):
        r = Recipe(DummyBlankFieldsModel, blank_char_field=lambda: "callable!!")
        value = r.make().blank_char_field
        self.assertEqual(value, "callable!!")

    def test_always_calls_when_creating(self):
        with patch("test.generic.tests.test_recipes.choice") as choice_mock:
            choice.return_value = "foo"
            l = ["foo", "bar", "spam", "eggs"]
            r = Recipe(DummyBlankFieldsModel, blank_char_field=lambda: choice(l))
            r.make().blank_char_field
            r.make().blank_char_field
            self.assertEqual(choice_mock.call_count, 2)

    def test_always_calls_with_quantity(self):
        with patch("test.generic.tests.test_recipes.choice") as choice_mock:
            choice.return_value = "foo"
            l = ["foo", "bar", "spam", "eggs"]
            r = Recipe(DummyBlankFieldsModel, blank_char_field=lambda: choice(l))
            r.make(_quantity=3)
            self.assertEqual(choice_mock.call_count, 3)

    def test_make_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.make(name="Guido", age=56)
        self.assertNotEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.name, "Guido")

        self.assertNotEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertNotEqual(person.id, None)

    def test_prepare_recipes_with_args(self):
        """
          Overriding some fields values at recipe execution
        """
        person = self.person_recipe.prepare(name="Guido", age=56)
        self.assertNotEqual(person.name, self.recipe_attrs["name"])
        self.assertEqual(person.name, "Guido")

        self.assertNotEqual(person.age, self.recipe_attrs["age"])
        self.assertEqual(person.age, 56)

        self.assertEqual(person.nickname, self.recipe_attrs["nickname"])
        self.assertEqual(person.bio, self.recipe_attrs["bio"])
        self.assertEqual(person.birthday, self.recipe_attrs["birthday"])
        self.assertEqual(person.appointment, self.recipe_attrs["appointment"])
        self.assertEqual(person.blog, self.recipe_attrs["blog"])
        self.assertEqual(person.wanted_games_qtd, self.recipe_attrs["wanted_games_qtd"])
        self.assertEqual(person.id, None)

    def test_make_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name="John Doe")
        person = person_recipe.make()
        self.assertEqual("John Doe", person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertTrue(person.id)

    def test_prepare_recipe_without_all_model_needed_data(self):
        person_recipe = Recipe(Person, name="John Doe")
        person = person_recipe.prepare()
        self.assertEqual("John Doe", person.name)
        self.assertTrue(person.nickname)
        self.assertTrue(person.age)
        self.assertTrue(person.bio)
        self.assertTrue(person.birthday)
        self.assertTrue(person.appointment)
        self.assertTrue(person.blog)
        self.assertTrue(person.wanted_games_qtd)
        self.assertFalse(person.id)

    def test_defining_recipes_str(self):
        from model_mommy.recipe import seq

        p = Recipe("generic.Person", name=seq("foo"))
        try:
            p.make(_quantity=5)
        except AttributeError as e:
            self.fail("%s" % e)
Exemplo n.º 33
0
 def test_accepts_callable(self):
     r = Recipe(DummyBlankFieldsModel,
         blank_char_field = lambda: 'callable!!'
     )
     value = r.make().blank_char_field
     self.assertEqual(value, 'callable!!')
Exemplo n.º 34
0
 def test_accepts_iterators(self):
     r = Recipe(DummyBlankFieldsModel, blank_char_field=iter(["a", "b", "c"]))
     self.assertEqual("a", r.make().blank_char_field)
     self.assertEqual("b", r.make().blank_char_field)
     self.assertEqual("c", r.make().blank_char_field)
Exemplo n.º 35
0
class TestForm():
    def setup_method(self, test_method):
        criar_dependencia_recipe_imovel(self)
        self.recipe_bairro_imovel_sj = Recipe(
            BairroComImoveis,
            cidade=foreign_key(self.cidade),
            bairro=foreign_key(self.bairro),
            regiao=foreign_key(self.regiao),
            tipo_imovel=Imovel.TIPO_IMOVEL.apartamento)
        self.cidade_macae = Recipe(Cidade, nome="Macae")
        self.bairro_aeroporto = Recipe(Bairro, nome="Aeroporto")
        self.recipe_bairro_imovel_macae = Recipe(
            BairroComImoveis,
            cidade=foreign_key(self.cidade_macae),
            bairro=foreign_key(self.bairro_aeroporto),
            regiao=foreign_key(self.regiao),
            tipo_imovel=Imovel.TIPO_IMOVEL.apartamento)

    def test_form_bairro_sao_jose_dos_campos(self):
        bairro_imovel_sj = self.recipe_bairro_imovel_sj.make(contador_venda=1)
        bairro_imovel_macae = self.recipe_bairro_imovel_macae.make()
        form = FiltroPorValorForm(tipo_imovel=Imovel.TIPO_IMOVEL.apartamento,
                                  tipo_interesse="comprar",
                                  cidade="Sao Jose dos Campos")
        assert len(form.fields['bairros'].choices) == 1
        assert (bairro_imovel_sj.bairro.id,
                bairro_imovel_sj) in form.fields['bairros'].choices
        assert (bairro_imovel_macae.bairro.id,
                bairro_imovel_macae) not in form.fields['bairros'].choices

    def test_form_bairro_macae(self):
        bairro_imovel_sj = self.recipe_bairro_imovel_sj.make()
        bairro_imovel_macae = self.recipe_bairro_imovel_macae.make(
            contador_venda=1)
        form = FiltroPorValorForm(tipo_imovel=Imovel.TIPO_IMOVEL.apartamento,
                                  tipo_interesse="comprar",
                                  cidade="Macae")
        assert len(form.fields['bairros'].choices) == 1
        assert (bairro_imovel_macae.bairro.id,
                bairro_imovel_macae) in form.fields['bairros'].choices
        assert (bairro_imovel_sj.bairro.id,
                bairro_imovel_sj) not in form.fields['bairros'].choices

    def test_form_condominio_macae(self):
        condominio = self.condominio.make()
        form = FiltroPorValorForm(tipo_imovel=Imovel.TIPO_IMOVEL.apartamento,
                                  tipo_interesse="comprar",
                                  cidade="Macae")
        assert len(form.fields['condominio'].choices) == 1
        assert ("", "---------------") in form.fields['condominio'].choices
        assert (condominio.id,
                condominio.nome) not in form.fields['condominio'].choices

    def test_form_condominio_sj(self):
        condominio = self.condominio.make()
        form = FiltroPorValorForm(tipo_imovel=Imovel.TIPO_IMOVEL.apartamento,
                                  tipo_interesse="comprar",
                                  cidade="Sao Jose dos Campos")
        assert len(form.fields['condominio'].choices) == 2
        assert ("", "---------------") in form.fields['condominio'].choices
        assert (condominio.id,
                condominio.nome) in form.fields['condominio'].choices
Exemplo n.º 36
0
class Modelcoverage(TestCase):
    
#    def create_account (self, first_name="Gen", last_name="Richards", email="*****@*****.**", username="******" ):
#        return User.objects.create(first_name=first_name, last_name=last_name, email=email, username=username)
    

    
    def create_category (self, name="Shopping"):
        return Category.objects.create(name=name)
    
    def test_create_category(self):
        w = self.create_category()
        self.assertTrue(isinstance(w, Category))
        self.assertEqual(w.__str__(), w.name)
    
    def create_country (self, name="Australia", code='Aust'):
        return Country.objects.create(name=name, code=code)
    
    def test_create_country(self):
        w = self.create_country()
        self.assertTrue(isinstance(w, Country))
        self.assertEqual(w.__str__(), '%s (%s)' % (w.name, w.code))
    
    def setUp (self):
        """Setting up all the tests"""

        self.attraction_category = Recipe (
        Category,
        name="attraction",
        )
        
        self.gen_user = Recipe (
        User, 
        first_name = "Gen",
        last_name = "Rich",
        email = "*****@*****.**",
        username = "******")
        
        self.australia_country = Recipe (
            'IFB299app.Country',
            name="Australia", 
            code='Aust'
        )
        
        self.queensland_region = Recipe(
            Region,
            name = "queensland",
            latitude = "27.404",
            longitude = "153.0987",
            country_id = foreign_key(self.australia_country) 
        )
        self.brisbane_city = Recipe (
        City, 
        name = "Brisbane",
        country_id = foreign_key(self.australia_country),
        region_id = foreign_key(self.queensland_region),
        latitude = "-27.1234",
        longitude = "153.245",
        )
        
        self.southbank_location = Recipe (
        Location,
        name = "Southbank Parklands",
        slug = "Southbank_Parklands",
        category_id = foreign_key (self.attraction_category),
        city_id = foreign_key (self.brisbane_city),
        region_id = foreign_key (self.queensland_region),
        country_id = foreign_key (self.australia_country))
  
        self.music_event = Recipe (
        Event, 
        name = "Xavier Rudd" ,
        description = "jskfjlsdj",
        start_date = "1999-05-25 08:30",
        end_date = "1999-05-25 10:30",
        location_id = foreign_key(self.southbank_location)
        )
        
        self.liked_feedback = Recipe (
        FeedbackRecommendations,
        placeID = "CH2356576",
        name = "Southbank",
        response = "True", 
        user = foreign_key (self.gen_user),
        )
    def test_create_account(self):
        w = self.gen_user.make()
        self.assertTrue(isinstance(w, User))
        self.assertEqual(w.__str__(), w.username)
    def test_check_Region(self):
        w = self.queensland_region.make()
        self.assertTrue(isinstance(w, Region))
        self.assertEqual(w.__str__(), w.name)
    
    def test_check_city(self):
        w = self.brisbane_city.make()
        self.assertTrue(isinstance(w, City))
        self.assertEqual(w.__str__(), w.name)
        
    def test_check_location (self):
        w = self.southbank_location.make()
        self.assertTrue(isinstance(w, Location))
        self.assertEqual(w.__str__(), w.name)
    
    def test_check_event (self):
        w = self.music_event.make()
        self.assertTrue(isinstance(w, Event))
        self.assertEqual(w.__str__(), w.name)
        
    def test_check_feedback(self):
        w = self.liked_feedback.make()
        self.assertTrue(isinstance(w, FeedbackRecommendations))
        self.assertTrue(w.__str__(), w.placeID)