예제 #1
0
 def test_should_redirect_to_stair_page(self):
     programmer1 = Programmer(name='Minkey', id=1)
     programmer2 = Programmer(name='Minnie', id=2)
     programmer1.save()
     programmer2.save()
     response = Client().get("/stairs/2/1")
     self.assertRedirects(response, "/stairs/")
예제 #2
0
 def test_should_save_pair(self):
     programmer1 = Programmer(name='Minkey', id=1)
     programmer2 = Programmer(name='Minnie', id=2)
     programmer1.save()
     programmer2.save()
     Client().get("/stairs/2/1")
     pair = Pair.objects.get(first=programmer2, second=programmer1)
     self.assertEqual(1, pair.count)
예제 #3
0
 def test_that_all_programmers_get_deleted(self):
     factory = RequestFactory()
     request = factory.get('request')
     programmer1 = Programmer(name='Kory Kraft')
     programmer1.save()
     programmer2 = Programmer(name='Jason Wickstra')
     programmer2.save()
     delete_programmers(request)
     self.assertEqual(0,len(Programmer.objects.all()))
예제 #4
0
 def test_should_get_pair_from_database_if_exist(self):
     programmer1 = Programmer(name='Minkey', id=1)
     programmer2 = Programmer(name='Minnie', id=2)
     programmer1.save()
     programmer2.save()
     programmers = [programmer1,programmer2]
     pair_times = 2
     Pair(first=programmer2, second=programmer1, count =pair_times).save()
     pairs = create_pairs(programmers)
     self.assertEqual(pair_times, pairs[0].count)
예제 #5
0
 def test_selected_programmer_gets_deleted(self):
     factory = RequestFactory()
     request = factory.get('request')
     programmer1 = Programmer(name='Kory Kraft')
     programmer1.save()
     programmer2 = Programmer(name='Jason Wickstra')
     programmer2.save()
     delete_programmer(request,1)
     self.assertEqual(1,len(Programmer.objects.all()))
     self.assertEqual('Jason Wickstra', Programmer.objects.all()[0].name)
예제 #6
0
 def test_add_count_adds_1_to_pair_count(self):
     factory = RequestFactory()
     request = factory.get('request')
     programmer1 = Programmer(name='Kory Kraft')
     programmer1.save()
     programmer2 = Programmer(name='Jason Wickstra')
     programmer2.save()
     pair = Pair(pair1=programmer1, pair2=programmer2, count=0)
     pair.save()
     add_count(request=request, pair1_id=1, pair2_id=2)
     pair = Pair.objects.get(pk=1)
     self.assertEqual(pair.count, 1)
예제 #7
0
class TestPairStairs(TestCase):
    def reset_db(self):
        Programmer.objects.all().delete()
        Pair.objects.all().delete()

    def setUp(self):
        self.reset_db()

    def tearDown(self):
        self.reset_db()

    def test_should_render_page_to_pair_stairs_page(self):
        response = Client().get('/pairstairs/')
        self.assertEqual(response.status_code, 200)

    def test_should_render_page_to_add_programmers_page(self):
        response = Client().get('/pairstairs/add')
        self.assertEqual(response.status_code, 200)

    def test_should_save_pairs(self):
        names = ','.join(['Kitty','Transformer'])
        Client().post('/pairstairs/add', {"programmer_names":names})
        self.assertEqual(Programmer.objects.count(), 2)
        self.assertEqual(Programmer.objects.filter(name="Kitty").count(),1)
        self.assertEqual(Programmer.objects.filter(name="Transformer").count(),1)

    def prepare_data(self):
        self.programmer1 = Programmer(name='Jason')
        self.programmer2 = Programmer(name='David')
        self.programmer1.save()
        self.programmer2.save()

    def test_should_reset_stairs(self):
        self.prepare_data()
        Client().get("/pairstairs/reset")
        self.assertEqual(Programmer.objects.count(), 0)

    def test_should_update_count_of_pair(self):
        self.prepare_data()
        Client().get("/pairstairs/2/1")
        pair = Pair.objects.get(programmer_1=self.programmer2, programmer_2=self.programmer1)
        self.assertEqual(pair.count, 1)