def test008_find_doc_by_value(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     doc_id = doc.pk
     del doc
     doc = TestDocument.objects(name1__value='Hermitage').first()
     self.assertEqual(doc.pk, doc_id)
 def test002_load(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     del doc
     doc = TestDocument.objects.first()
     self.assertIsInstance(doc.name1, MultilingualString)
     self.assertDictEqual(
         doc.name1.translations,
         {'en_US': 'Hermitage', 'ru_RU': u'Эрмитаж'})
 def test001_save(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     del doc
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual(
         [
             {u'lang': u'en_US', u'value': u'Hermitage'},
             {u'lang': u'ru_RU', u'value': u'Эрмитаж'}
         ],
         db_doc['name1'])
 def test003_translate_doc(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     del doc
     doc = TestDocument.objects.first()
     doc.translate('en')
     self.assertMultiLineEqual(doc.name1, 'Hermitage')
     doc.translate('ru')
     self.assertMultiLineEqual(doc.name1, u'Эрмитаж')
     doc.translate('en')
     self.assertMultiLineEqual(doc.name1, 'Hermitage')
 def test004_set_value(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     del doc
     doc = TestDocument.objects.first()
     doc.translate('en')
     doc.name1 = 'The Hermitage'
     doc.save()
     del doc
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual(
         [
             {u'lang': u'en_US', u'value': u'The Hermitage'},
             {u'lang': u'ru_RU', u'value': u'Эрмитаж'}
         ],
         db_doc['name1'])
 def test007_initial_values_are_strings(self):
     doc = TestDocument()
     doc.translate('en')
     doc.name1 = 'Hermitage'
     doc.save()
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual(
         [
             {u'lang': u'en_US', u'value': u'Hermitage'},
         ],
         db_doc['name1'])
 def test009_perform_atomic_value_update(self):
     doc = TestDocument(name1={'en': 'Hermitage', 'ru': u'Эрмитаж'})
     doc.save()
     del doc
     TestDocument.objects(
         name1__lang=normalize_lang('en'), name1__value='Hermitage').update(
         set__name1__S__value='The Hermitage')
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual(
         [
             {u'lang': u'en_US', u'value': u'The Hermitage'},
             {u'lang': u'ru_RU', u'value': u'Эрмитаж'}
         ],
         db_doc['name1'])
 def test006_value_none(self):
     doc = TestDocument(name1=None)
     doc.save()
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual([], db_doc['name1'])
 def test005_value_empty_dict(self):
     doc = TestDocument(name1={})
     doc.save()
     db_doc = TestDocument._get_collection().find_one()
     self.assertItemsEqual([], db_doc['name1'])