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)
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)
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)
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
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)
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)
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)
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)
def get_initial(self): initial = super(HouseholdCreateView,self).get_initial() initial.update(dict(person = Person.getPersonFromUser(self.request.user))) return initial
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
def get_initial(self): initial = super(HouseholdCreateView, self).get_initial() initial.update( dict(person=Person.getPersonFromUser(self.request.user))) return initial
def person(cls, user): return Person(user=user, name="jackie jackie")
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)