Пример #1
0
class TestDocumentMapper(unittest.TestCase):
    def setUp(self):
        self.document = Mock(Document)
        self.document.field_names.return_value = ('field1', 'field2',
                                                  'newname')

        self.mapper = DocumentMapper(self.document, {'oldname': 'newname'})

    def test_given_document_when_encoding_then_maps_model_using_fields_in_document(
            self):
        model = Mock()
        model.field1 = u'value1'
        model.field2 = u'value2'
        model.field3 = u'value3'

        result = self.mapper.for_encoding(model)

        assert_that(result,
                    has_entries({
                        u'field1': u'value1',
                        u'field2': u'value2'
                    }))

    def test_given_document_when_decoding_then_maps_dict_using_fields_in_document(
            self):
        mapping = {
            u'field1': u'value1',
            u'field2': u'value2',
            u'field3': u'value3'
        }

        result = self.mapper.for_decoding(mapping)

        assert_that(result,
                    has_entries({
                        u'field1': u'value1',
                        u'field2': u'value2'
                    }))

    def test_given_document_when_decoding_then_ignores_fields_not_in_mapping(
            self):
        mapping = {u'field1': u'value1', u'whackyfield': u'whackyvalue'}

        result = self.mapper.for_decoding(mapping)

        assert_that(result, has_entries({u'field1': u'value1'}))

    def test_given_document_when_decoding_then_renames_fields_in_mapping(self):
        mapping = {u'oldname': u'value'}

        result = self.mapper.for_decoding(mapping)

        assert_that(result, has_entries({u'newname': u'value'}))
Пример #2
0
class TestDocumentMapper(unittest.TestCase):

    def setUp(self):
        self.document = Mock(Document)
        self.document.field_names.return_value = ('field1', 'field2', 'newname')

        self.mapper = DocumentMapper(self.document, {'oldname': 'newname'})

    def test_given_document_when_encoding_then_maps_model_using_fields_in_document(self):
        model = Mock()
        model.field1 = u'value1'
        model.field2 = u'value2'
        model.field3 = u'value3'

        result = self.mapper.for_encoding(model)

        assert_that(result, has_entries({u'field1': u'value1', u'field2': u'value2'}))

    def test_given_document_when_decoding_then_maps_dict_using_fields_in_document(self):
        mapping = {u'field1': u'value1',
                   u'field2': u'value2',
                   u'field3': u'value3'}

        result = self.mapper.for_decoding(mapping)

        assert_that(result, has_entries({u'field1': u'value1', u'field2': u'value2'}))

    def test_given_document_when_decoding_then_ignores_fields_not_in_mapping(self):
        mapping = {u'field1': u'value1',
                   u'whackyfield': u'whackyvalue'}

        result = self.mapper.for_decoding(mapping)

        assert_that(result, has_entries({u'field1': u'value1'}))

    def test_given_document_when_decoding_then_renames_fields_in_mapping(self):
        mapping = {u'oldname': u'value'}

        result = self.mapper.for_decoding(mapping)

        assert_that(result, has_entries({u'newname': u'value'}))
Пример #3
0
    def setUp(self):
        self.document = Mock(Document)
        self.document.field_names.return_value = ('field1', 'field2',
                                                  'newname')

        self.mapper = DocumentMapper(self.document, {'oldname': 'newname'})
Пример #4
0
    def setUp(self):
        self.document = Mock(Document)
        self.document.field_names.return_value = ('field1', 'field2', 'newname')

        self.mapper = DocumentMapper(self.document, {'oldname': 'newname'})