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/")
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)
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()))
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)
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)
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)
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)