コード例 #1
0
    def test_serializes_correctly(self):
        """
        Test that only specific fields are serialized
        """

        spent_by = Person(username="******")
        spent_for = Person(username="******")
        budget_group = BudgetGroup()
        spent_at = datetime(2017, 05, 17)

        expense = Expense(spent_by=spent_by,
                          spent_for=spent_for,
                          budget_group=budget_group,
                          amount_spent=100,
                          spent_at=spent_at)

        serializer = ExpenseSerializer(expense)
        self.assertEqual(
            {
                'id': str(expense.id),
                'spent_at': '2017-05-17T00:00:00',
                'spent_for': spent_for.id,
                'spent_for_purpose': u'',
                'spent_by': spent_by.id,
                'amount_spent': u'100.00'
            }, serializer.data)
コード例 #2
0
    def test_can_not_spend_zero_amount(self):
        """
        Creating a negative expense is not possible
        """
        spent_by = Person(username="******")
        spent_for = Person(username="******")
        budget_group = BudgetGroup()

        expense = Expense(spent_by=spent_by,
                          spent_for=spent_for,
                          budget_group=budget_group,
                          amount_spent=0)

        self.assertRaises(ValidationError, expense.clean)
コード例 #3
0
    def test_can_add_expense_from_person_for_person(self):
        """
        A person can spent money for another person
        """
        spent_by = Person(username="******")
        spent_for = Person(username="******")
        budget_group = BudgetGroup()

        expense = Expense(spent_by=spent_by,
                          spent_for=spent_for,
                          budget_group=budget_group,
                          amount_spent=100)

        self.assertIsNotNone(expense)
コード例 #4
0
ファイル: views.py プロジェクト: JojoG/Expenses
 def get_initial(self):
     initial = super(InviteToHouseholdCreateView, self).get_initial()
     if self.kwargs.has_key('pk'):
         initial.update(
             dict(inviter=Person.getPersonFromUser(self.request.user),
                  household=get_object_or_404(Household,
                                              pk=self.kwargs['pk'])))
     return initial
コード例 #5
0
ファイル: views.py プロジェクト: JojoG/Expenses
def loggedInView(request):
    """
    after log in, if no person, create
    """
    user = request.user
    if user.person_set.count() < 1:
        Person(user=user, name = 'Anonymous').save()
    return redirect('/profiles/%s' % user.username)
コード例 #6
0
    def test_serializes_correctly(self):
        """
        Test that only specific fields are serialized
        """

        person = Person(username="******")
        serializer = PersonSerializer(person)
        self.assertEqual({
            'id': str(person.id),
            'username': person.username
        }, serializer.data)
コード例 #7
0
    def test_can_add_expense_from_person_to_group(self):
        """
        A person can spent money for a budget group
        """
        spent_by = Person(username="******")
        budget_group = BudgetGroup()

        expense = Expense(spent_by=spent_by,
                          budget_group=budget_group,
                          amount_spent=100)

        self.assertIsNotNone(expense)
コード例 #8
0
    def test_can_not_spend_without_spent_by(self):
        """
        A spent_by is always required
        """
        spent_for = Person(username="******")
        budget_group = BudgetGroup()

        expense = Expense(spent_for=spent_for,
                          budget_group=budget_group,
                          amount_spent=100)

        self.assertRaises(Person.DoesNotExist, expense.clean)
コード例 #9
0
ファイル: views.py プロジェクト: JojoG/Expenses
	def get_initial(self):
		initial = super(HouseholdCreateView,self).get_initial()
		initial.update(dict(person = Person.getPersonFromUser(self.request.user)))
		return initial
コード例 #10
0
ファイル: views.py プロジェクト: JojoG/Expenses
 def get_initial(self):
     initial = super(InviteToHouseholdCreateView,self).get_initial()
     if self.kwargs.has_key('pk'):
         initial.update(dict(inviter=Person.getPersonFromUser(self.request.user),household = get_object_or_404(Household,pk=self.kwargs['pk'])))
     return initial    
コード例 #11
0
ファイル: views.py プロジェクト: JojoG/Expenses
 def get_initial(self):
     initial = super(HouseholdCreateView, self).get_initial()
     initial.update(
         dict(person=Person.getPersonFromUser(self.request.user)))
     return initial
コード例 #12
0
ファイル: tests.py プロジェクト: JojoG/Expenses
 def person(cls, user):
     return Person(user=user, name="jackie jackie")
コード例 #13
0
 def test_new_person_is_anonymous_by_default(self):
     """
     Make sure there is always a default username "anonymous" set
     """
     person = Person()
     self.assertEqual("anonymous", person.username)