Example #1
0
    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)),
        )
Example #2
0
 def tearDownClass(cls):
     GroupStagingTable.clear_records()
     UserStagingTable.clear_records()
     GroupDim.clear_records()
     UserDim.clear_records()
     UserGroupDim.clear_records()
     super(TestUserGroupDim, cls).tearDownClass()