def test_generating_again_deletes_groups_previously_created(context): ("If the generate button is issued more than once per day, any groups of the same day are deleted") # Given there are 4 people in the databse people_going = [ Person.objects.create(name='Unaiz', email='*****@*****.**').id, Person.objects.create(name='Sean', email='*****@*****.**').id, Person.objects.create(name='Jordan', email='*****@*****.**').id, Person.objects.create(name='Jim', email='*****@*****.**').id, Person.objects.create(name='Vin', email='*****@*****.**').id, ] # When I create groups randomly groups1 = WeeklyGroup.generate_random(people_going, total_groups=2) groups2 = WeeklyGroup.generate_random(people_going, total_groups=2) WeeklyGroup.objects.filter(date=date(2013, 10, 10)).count().should.equal(2)
def test_generating_again_deletes_groups_previously_created(context): ("If the generate button is issued more than once per day, any groups of the same day are deleted" ) # Given there are 4 people in the databse people_going = [ Person.objects.create(name='Unaiz', email='*****@*****.**').id, Person.objects.create(name='Sean', email='*****@*****.**').id, Person.objects.create(name='Jordan', email='*****@*****.**').id, Person.objects.create(name='Jim', email='*****@*****.**').id, Person.objects.create(name='Vin', email='*****@*****.**').id, ] # When I create groups randomly groups1 = WeeklyGroup.generate_random(people_going, total_groups=2) groups2 = WeeklyGroup.generate_random(people_going, total_groups=2) WeeklyGroup.objects.filter(date=date(2013, 10, 10)).count().should.equal(2)
def test_groups_can_be_created_randomly(context): ("Groups should be created from a certain number") # Given there are 4 people in the databse people_going = [ Person.objects.create(name='Unaiz', email='*****@*****.**').id, Person.objects.create(name='Sean', email='*****@*****.**').id, Person.objects.create(name='Jordan', email='*****@*****.**').id, Person.objects.create(name='Jim', email='*****@*****.**').id, ] # When I create groups randomly groups = WeeklyGroup.generate_random(people_going, total_groups=2) # Then there should be 2 groups groups.should.have.length_of(2) g1, g2 = groups # And each group has 2 people g1.members.count().should.equal(2) g2.members.count().should.equal(2)
def test_groups_can_be_created_with_odd_number_of_people(context): ("We should be able to create groups even with an odd number of members") # Given there are 4 people in the databse people_going = [ Person.objects.create(name='Unaiz', email='*****@*****.**').id, Person.objects.create(name='Sean', email='*****@*****.**').id, Person.objects.create(name='Jordan', email='*****@*****.**').id, Person.objects.create(name='Jim', email='*****@*****.**').id, Person.objects.create(name='Vin', email='*****@*****.**').id, ] # When I create groups randomly groups = WeeklyGroup.generate_random(people_going, total_groups=2) # Then there should be 2 groups groups.should.have.length_of(2) g1, g2 = groups # And each group has 3 people g1.members.count().should.equal(3) g2.members.count().should.equal(2)
def ajax_generate(request): people_ids = json.loads(request.POST['json_list']) number_of_groups = request.POST['number_of_groups'] groups = WeeklyGroup.generate_random(people_ids, int(number_of_groups)) return HttpResponse(json.dumps([g.to_dict() for g in groups]))