def test_basic_user_group_insert(self): UserDim.commit(self.batch) self.assertEqual(UserDim.objects.count(), 3) # Setup group records to have multiple users dogs = create_group_staging_record( self.domain, 'dogs', user_ids=[self.blue_dog.user_id, self.black_dog.user_id], batch_id=self.batch.id) create_group_staging_record(self.domain, 'cats', user_ids=[self.yellow_cat.user_id], batch_id=self.batch.id) GroupDim.commit(self.batch) self.assertEqual(GroupDim.objects.count(), 2) UserGroupDim.commit(self.batch) self.assertEqual(UserGroupDim.objects.count(), 3) dog_relations = UserGroupDim.objects.filter( group_dim=GroupDim.objects.get(group_id=dogs.group_id)) self.assertEqual( dog_relations.count(), 2, ) self.assertEqual( set(dog_relations.values_list('user_dim_id', flat=True)), set( UserDim.objects.filter(user_id__in=[ self.blue_dog.user_id, self.black_dog.user_id ]).values_list('id', flat=True)), )
def tearDownClass(cls): GroupStagingTable.clear_records() UserStagingTable.clear_records() GroupDim.clear_records() UserDim.clear_records() UserGroupDim.clear_records() super(TestUserGroupDim, cls).tearDownClass()