def setUp(self): self.user = self.login_user() for i in range(0, 5): Movie.objects.create(id=i, title="movie_%d" % i) self.reco1 = Reco.create_new(base=[{ "id": 0, "rating": 5 }, { "id": 1, "rating": 4 }], reco=[{ "id": 2 }], user=self.user) self.reco2 = Reco.create_new(base=[{ "id": 1, "rating": 5 }, { "id": 3, "rating": 4 }], reco=[{ "id": 4 }], user=self.user)
def test_create_new_creates_reco(self): Reco.create_new( base = self.preferences, reco = self.reco, user = None ) self.assertEqual(Reco.objects.count(), 1)
def test_for_displaying_reco_title(self): reco = Reco.create_new(base=self.preferences, reco=self.reco, user=self.user, title="My Reco") response = self.client.get("/accounts/reco/{0}/".format(reco.id)) self.assertContains(response, reco.title)
def test_create_new_links_user_to_reco(self): user = User.objects.create() reco = Reco.create_new( base = self.preferences, reco = self.reco, user = user ) self.assertEqual(user.recos.count(), 1)
def test_for_displaying_base_movies(self): reco = Reco.create_new(base=self.preferences, reco=self.reco, user=self.user, title="My Reco") response = self.client.get("/accounts/reco/{0}/".format(reco.id)) self.assertContains(response, self.preferences[0]["title"]) self.assertContains(response, self.preferences[1]["title"]) self.assertContains(response, self.preferences[2]["title"])
def test_get_absolute_url(self): reco = Reco.create_new( base = self.preferences, reco = self.reco, user = None, title = None ) self.assertEqual( "/accounts/reco/%d/" % reco.id, reco.get_absolute_url() )
def test_create_new_links_reco_movies_to_reco(self): reco = Reco.create_new( base = self.preferences, reco = self.reco, user = None ) self.assertEqual(reco.movies.count(), 3) self.assertTrue(reco.movies.filter(id=self.reco[0]["id"]).exists()) self.assertTrue(reco.movies.filter(id=self.reco[1]["id"]).exists()) self.assertTrue(reco.movies.filter(id=self.reco[2]["id"]).exists()) self.assertFalse(reco.movies.filter(id=self.preferences[2]["id"]).exists())
def save_reco(self, reco, title=None): reco = Reco.create_new(base=self.source.get_data(), reco=reco, user=self.source.get_user(), title=title) return reco
def get_reco(self, user=None): reco = Reco.create_new(base=self.source.get_data(), reco=self.make_reco(), user=user) return reco