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()), }
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)
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") }
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)
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)
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 }
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 }
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)
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(), ] }
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(), ] }
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 ", }
def test_returns_correct_value(self, convert_word): convert_word.return_value = fakes.fake_value() assert _convert_words([None]) == [convert_word.return_value]
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()), }
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
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]
def get_fake_values(self): return { "module_name": str(fakes.fake_value()), "skill_name": str(fakes.fake_value()), }
def get_fake_values(self): return { "Name": str(fakes.fake_value()), "Short name": str(fakes.fake_value()), "Link": str(fakes.fake_value()), }
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)
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
def test_returns_correct_value(self, convert_phrase): convert_phrase.return_value = fakes.fake_value() assert _convert_phrases([None]) == [convert_phrase.return_value]
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
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
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
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]
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]
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)
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)
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)
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