Exemple #1
0
 def test_calls_define_word_with_the_correct_data(self, _define_word):
     is_in_target_language = fakes.fake_value()
     fake_word = str(fakes.fake_value())
     _define_words_in_sentence(
         fakes.course1, fake_word, is_in_target_language)
     _define_word.assert_called_with(
         fakes.course1, fake_word, is_in_target_language)
 def get_fake_values(self):
     return {
         "target_language_name": str(fakes.fake_value()),
         "target_language_code": str(fakes.fake_value()),
         "source_language_name": str(fakes.fake_value()),
         "source_language_code": str(fakes.fake_value()),
         "first_special_character": str(fakes.fake_value()),
         "second_special_character": str(fakes.fake_value()),
         "fake_module": str(fakes.fake_value()),
         "license_name": str(fakes.fake_value()),
         "license_full_name": str(fakes.fake_value()),
         "license_link": str(fakes.fake_value()),
     }
Exemple #3
0
 def test_doesnt_include_definition_with_different_is_in_target_language(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = fakes.customize(fakes.course1, dictionary=[
         DictionaryItem(
             word=word,
             definition=meaning,
             is_in_target_language=False
         ),
     ])
     with pytest.raises(ValueError):
         _define_word(my_course, word,
                      is_in_target_language=is_in_target_language)
Exemple #4
0
def mocks(mocker):
    load_course = mocker.patch("librelingo_json_export.cli.load_course")
    load_course.return_value = fakes.fake_value()
    return {
        "load_course": load_course,
        "export_course": mocker.patch("librelingo_json_export.cli.export_course")
    }
Exemple #5
0
 def test_doesnt_include_definition_with_different_word(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = Course(
         **{
             **(fakes.course1._asdict()),
             "dictionary": [
                 DictionaryItem(
                     word=word,
                     definition=meaning,
                     is_in_target_language=is_in_target_language
                 ),
             ]
         },
     )
     with pytest.raises(ValueError):
         _define_word(my_course, "asd",
                      is_in_target_language=is_in_target_language)
Exemple #6
0
 def test_definition_not_found(self):
     word = str(fakes.fake_value())
     pattern = re.escape(
         'The another language word "{}" does not have a definition. Please add it to the mini-dictionary.'
         .format(word))
     with pytest.raises(
             ValueError,
             match=pattern):
         assert _define_word(fakes.course1, word,
                             is_in_target_language=False)
Exemple #7
0
 def test_normalizes_words(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = Course(
         **{
             **(fakes.course1._asdict()),
             "dictionary": [
                 DictionaryItem(
                     word=word,
                     definition=meaning,
                     is_in_target_language=is_in_target_language
                 ),
             ]
         },
     )
     assert _define_word(my_course, word + ",", is_in_target_language=is_in_target_language) == {
         "word": word + ",",
         "definition": meaning
     }
Exemple #8
0
 def test_skips_non_matching_definitions(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = fakes.customize(fakes.course1, dictionary=[
         DictionaryItem(
             word="random shit",
             definition="random shit",
             is_in_target_language="random shit"
         ),
         DictionaryItem(
             word=word,
             definition=meaning,
             is_in_target_language=is_in_target_language
         ),
     ])
     assert _define_word(my_course, word, is_in_target_language=is_in_target_language) == {
         "word": word,
         "definition": meaning
     }
Exemple #9
0
 def test_skips_empty_definition(self):
     word = str(fakes.fake_value())
     my_course = fakes.customize(fakes.course1, dictionary=[
         DictionaryItem(
             word=word,
             definition="",
             is_in_target_language=False
         ),
     ])
     with pytest.raises(ValueError):
         _define_word(my_course, word, is_in_target_language=False)
Exemple #10
0
 def setUp(self):
     self.fakeWord = {
         "Images": fakes.fake_value(),
         "Word": fakes.fake_value(),
         "Synonyms": [
             fakes.fake_value(),
             fakes.fake_value(),
         ],
         "Translation": fakes.fake_value(),
         "Also accepted": [
             fakes.fake_value(),
             fakes.fake_value(),
         ]
     }
Exemple #11
0
 def setUp(self):
     self.fakePhrase = {
         "Phrase": fakes.fake_value(),
         "Alternative versions": [
             fakes.fake_value(),
             fakes.fake_value(),
         ],
         "Translation": fakes.fake_value(),
         "Alternative translations": [
             fakes.fake_value(),
             fakes.fake_value(),
         ]
     }
Exemple #12
0
 def test_returns_correct_value2(self, get_chips):
     get_chips.return_value = fakes.fake_value()
     challenge = get_chips_challenge(fakes.phrase_with_alternatives,
                                     fakes.course1)
     assert challenge == {
         "type":
         "chips",
         "translatesToSourceLanguage":
         False,
         "phrase": [
             {
                 "word": "foo",
                 "definition": "barrus"
             },
             {
                 "word": "bar",
                 "definition": "furrrr"
             },
             {
                 "word": "foo",
                 "definition": "barrus"
             },
             {
                 "word": "bar",
                 "definition": "furrrr"
             },
         ],
         'id':
         '4b0e9208ce1b',
         'group':
         '66a39e74a2c8',
         "priority":
         2,
         "solutions": [get_chips.return_value, get_chips.return_value],
         "chips":
         get_chips.return_value,
         "formattedSolution":
         "foous barus foous barus ",
     }
Exemple #13
0
 def test_returns_correct_value(self, convert_word):
     convert_word.return_value = fakes.fake_value()
     assert _convert_words([None]) == [convert_word.return_value]
Exemple #14
0
 def get_fake_values(self):
     return {
         "skill_name": str(fakes.fake_value()),
         "skill_id": str(fakes.fake_value()),
         "img1": str(fakes.fake_value()),
         "img2": str(fakes.fake_value()),
         "img3": str(fakes.fake_value()),
         "fake_words": str(fakes.fake_value()),
         "fake_phrases": str(fakes.fake_value()),
         "word1": str(fakes.fake_value()),
         "word2": str(fakes.fake_value()),
         "word3": str(fakes.fake_value()),
         "word4": str(fakes.fake_value()),
         "word5": str(fakes.fake_value()),
         "word6": str(fakes.fake_value()),
         "word7": str(fakes.fake_value()),
     }
Exemple #15
0
 def test_handles_every_module(self, load_skill):
     load_skill.return_value = fakes.fake_value()
     assert _load_skills("foo", ["bar", "baz"],
                         fakes.course1) == [load_skill.return_value] * 2
Exemple #16
0
 def test_returns_correct_value(self, load_skill):
     load_skill.return_value = fakes.fake_value()
     assert _load_skills("foo", ["bar"],
                         fakes.course1) == [load_skill.return_value]
Exemple #17
0
 def get_fake_values(self):
     return {
         "module_name": str(fakes.fake_value()),
         "skill_name": str(fakes.fake_value()),
     }
Exemple #18
0
 def get_fake_values(self):
     return {
         "Name": str(fakes.fake_value()),
         "Short name": str(fakes.fake_value()),
         "Link": str(fakes.fake_value()),
     }
Exemple #19
0
 def test_the_first_meaning_does_matter(self):
     x, y = "foo", "bar"
     z = str(fakes.fake_value())
     p1 = fakes.customize(fakes.phrase1, in_target_language=[x])
     p2 = fakes.customize(fakes.phrase1, in_target_language=[y])
     assert get_dumb_opaque_id(z, p1) != get_dumb_opaque_id(z, p2)
Exemple #20
0
 def test_includes_listening_challenge(self, mock):
     fake_value = fakes.fake_value()
     mock.return_value = fake_value
     assert _get_phrase_challenges(fakes.phrase1,
                                   fakes.course1)[1] == fake_value
Exemple #21
0
 def test_returns_correct_value(self, convert_phrase):
     convert_phrase.return_value = fakes.fake_value()
     assert _convert_phrases([None]) == [convert_phrase.return_value]
Exemple #22
0
 def test_includes_reverse_chips_challenge(self, mock):
     fake_value = fakes.fake_value()
     mock.return_value = fake_value
     assert _get_phrase_challenges(fakes.long_phrase,
                                   fakes.course1)[3] == fake_value
Exemple #23
0
 def test_includes_short_input_challenges(self, mock):
     fake_value = fakes.fake_value()
     mock.return_value = fake_value
     assert _get_word_challenges(fakes.word1,
                                 fakes.course1)[1] == fake_value
Exemple #24
0
 def test_includes_listening_challenge(self, mock):
     fake_value = fakes.fake_value()
     mock.return_value = fake_value
     assert _get_word_challenges(fakes.word1,
                                 fakes.course1)[2] == fake_value
Exemple #25
0
 def test_returns_correct_value(self, _define_word):
     _define_word.return_value = fakes.fake_value()
     assert _define_words_in_sentence(
         fakes.course1, "foo", True) == [_define_word.return_value]
Exemple #26
0
 def test_defines_every_word(self, _define_word):
     _define_word.return_value = fakes.fake_value()
     assert _define_words_in_sentence(
         fakes.course1, "foo bar", True) == [_define_word.return_value, _define_word.return_value]
Exemple #27
0
 def test_calls_convert_phrases_with_correct_values(self, convert_phrase):
     word1 = fakes.fake_value()
     word2 = fakes.fake_value()
     _convert_phrases([word1, word2])
     convert_phrase.assert_any_call(word1)
     convert_phrase.assert_any_call(word2)
Exemple #28
0
 def test_word_only_first_meaning_matters_1(self):
     x, y = "foo", "bar"
     z = str(fakes.fake_value())
     p1 = fakes.customize(fakes.word1, in_source_language=[x])
     p2 = fakes.customize(fakes.word1, in_source_language=[x, y])
     assert get_dumb_opaque_id(z, p1) == get_dumb_opaque_id(z, p2)
Exemple #29
0
 def test_phrase_only_first_meaning_matters_2(self):
     x, y = "foo", "bar"
     z = str(fakes.fake_value())
     p1 = fakes.customize(fakes.phrase1, in_target_language=[x])
     p2 = fakes.customize(fakes.phrase1, in_target_language=[x, y])
     assert get_dumb_opaque_id(z, p1) == get_dumb_opaque_id(z, p2)
Exemple #30
0
 def test_includes_options_challenges(self, mock):
     fake_value = fakes.fake_value()
     mock.return_value = fake_value
     assert _get_phrase_challenges(fakes.phrase1,
                                   fakes.course1)[0] == fake_value