Esempio n. 1
0
 def test_basic_config(self):
     config_file = "basic-config.yaml"
     pes_loader = ProgrammingChallengesStructureLoader(
         structure_filename=config_file, base_path=self.base_path)
     pes_loader.load()
     ped_objects = ProgrammingChallengeDifficulty.objects.all()
     pel_objects = ProgrammingChallengeLanguage.objects.all()
     self.assertQuerysetEqual(ped_objects,
                              ["<ProgrammingChallengeDifficulty: Level 1>"])
     self.assertQuerysetEqual(
         pel_objects, ["<ProgrammingChallengeLanguage: Language 1>"])
Esempio n. 2
0
    def test_translation(self):
        config_file = "translation.yaml"

        pes_loader = ProgrammingChallengesStructureLoader(
            structure_filename=config_file, base_path=self.base_path)
        pes_loader.load()

        translated_lang = ProgrammingChallengeLanguage.objects.get(
            slug="translated")
        self.assertSetEqual(set(["en", "de"]), set(translated_lang.languages))
        self.assertEqual("English language 1", translated_lang.name)
        with translation.override("de"):
            self.assertEqual("German language 1", translated_lang.name)

        translated_difficulty = ProgrammingChallengeDifficulty.objects.get(
            level=0)
        self.assertSetEqual(set(["en", "de"]),
                            set(translated_difficulty.languages))
        self.assertEqual("English difficulty 1", translated_difficulty.name)
        with translation.override("de"):
            self.assertEqual("German difficulty 1", translated_difficulty.name)
Esempio n. 3
0
    def test_translation_missing(self):
        config_file = "translation.yaml"

        pes_loader = ProgrammingChallengesStructureLoader(
            structure_filename=config_file, base_path=self.base_path)
        pes_loader.load()

        untranslated_lang = ProgrammingChallengeLanguage.objects.get(
            slug="untranslated")
        self.assertSetEqual(set(["en"]), set(untranslated_lang.languages))
        self.assertEqual("English language 2", untranslated_lang.name)
        # Language name SHOULD fall back to english if not given
        with translation.override("de"):
            self.assertEqual("English language 2", untranslated_lang.name)

        untranslated_difficulty = ProgrammingChallengeDifficulty.objects.get(
            level=1)
        self.assertSetEqual(set(["en"]),
                            set(untranslated_difficulty.languages))
        self.assertEqual("English difficulty 2", untranslated_difficulty.name)
        # Check name does not fall back to english for missing translation
        with translation.override("de"):
            self.assertEqual("", untranslated_difficulty.name)