Projet

Général

Profil

0001-wcs-change-data-logic-in-tests-58833.patch

Lauréline Guérin, 09 décembre 2021 14:57

Télécharger (6,7 ko)

Voir les différences:

Subject: [PATCH 1/5] wcs: change data logic in tests (#58833)

 tests/test_wcs.py | 141 +++++++++++++++++++++++-----------------------
 1 file changed, 71 insertions(+), 70 deletions(-)
tests/test_wcs.py
120 120
    {'title': 'Card Model 3', 'slug': 'card_model_3'},
121 121
]
122 122

  
123
WCS_CARDS_DATA = [
124
    {
125
        'id': 11,
126
        'display_id': '10-11',
127
        'display_name': 'Card Model 1 - n°10-11',
128
        'digest': 'a a a',
129
        'text': 'aa',
130
        'url': '/backoffice/data/card_model_1/11/',
131
    },
132
    {
133
        'id': 12,
134
        'display_id': '10-12',
135
        'display_name': 'Card Model 1 - n°10-12',
136
        'digest': 'b b b',
137
        'text': 'bb',
138
        'url': '/backoffice/data/card_model_1/12/',
139
    },
140
    {
141
        'id': 13,
142
        'display_id': '10-13',
143
        'display_name': 'Card Model 1 - n°10-13',
144
        'digest': 'c c c',
145
        'text': 'cc',
146
        'url': '/backoffice/data/card_model_1/13/',
147
    },
148
]
123
WCS_CARDS_DATA = {
124
    'card_model_1': [
125
        {
126
            'id': 11,
127
            'display_id': '10-11',
128
            'display_name': 'Card Model 1 - n°10-11',
129
            'digest': 'a a a',
130
            'text': 'aa',
131
            'url': '/backoffice/data/card_model_1/11/',
132
            'fields': {
133
                'fielda': 'a',
134
                'fieldb': True,
135
                'fieldc': '2020-09-28',
136
                'fieldd': {'filename': 'file.pdf', 'url': 'http://127.0.0.1:8999/download?f=42'},
137
                'fielde': 'lorem<strong>ipsum\n\nhello world',
138
                'fieldf': 'lorem<strong>ipsum\n\nhello world',
139
                'fieldg': 'test@localhost',
140
                'related': 'Foo Bar',
141
                'related_raw': 42,
142
                'related_structured': {'id': 42, 'text': 'blah'},
143
            },
144
        },
145
        {
146
            'id': 12,
147
            'display_id': '10-12',
148
            'display_name': 'Card Model 1 - n°10-12',
149
            'digest': 'b b b',
150
            'text': 'bb',
151
            'url': '/backoffice/data/card_model_1/12/',
152
        },
153
        {
154
            'id': 13,
155
            'display_id': '10-13',
156
            'display_name': 'Card Model 1 - n°10-13',
157
            'digest': 'c c c',
158
            'text': 'cc',
159
            'url': '/backoffice/data/card_model_1/13/',
160
        },
161
    ],
162
}
149 163

  
150 164
WCS_CARDS_CUSTOM_VIEW_DATA = [
151 165
    {
......
166 180
    },
167 181
]
168 182

  
169
WCS_CARDDEF_SCHEMA = {
170
    'name': 'Card Model 1',
171
    'fields': [
172
        {'label': 'Field A', 'varname': 'fielda', 'type': 'string'},
173
        {'label': 'Field B', 'varname': 'fieldb', 'type': 'bool'},
174
        {'label': 'Field C', 'varname': 'fieldc', 'type': 'date'},
175
        {'label': 'Field D', 'varname': 'fieldd', 'type': 'file'},
176
        {'label': 'Field E', 'varname': 'fielde', 'type': 'text'},
177
        {'label': 'Field F', 'varname': 'fieldf', 'type': 'text', 'pre': True},
178
        {'label': 'Field G', 'varname': 'fieldg', 'type': 'email'},
179
        {'label': 'Related', 'varname': 'related', 'type': 'item'},
180
        {'label': 'Page', 'type': 'page'},
181
        {'label': 'Comment', 'type': 'comment'},
182
        {'label': 'Title', 'type': 'title'},
183
        {'label': 'Subtitle', 'type': 'subtitle'},
184
        {'label': 'Empty', 'varname': None, 'type': 'string'},
185
    ],
186
}
187

  
188
WCS_CARD_DATA = {
189
    'id': 11,
190
    'display_id': '10-11',
191
    'display_name': 'Card Model 1 - n°10-11',
192
    'digest': 'a a a',
193
    'text': 'aa',
194
    'url': '/backoffice/data/card_model_1/11/',
195
    'fields': {
196
        'fielda': 'a',
197
        'fieldb': True,
198
        'fieldc': '2020-09-28',
199
        'fieldd': {'filename': 'file.pdf', 'url': 'http://127.0.0.1:8999/download?f=42'},
200
        'fielde': 'lorem<strong>ipsum\n\nhello world',
201
        'fieldf': 'lorem<strong>ipsum\n\nhello world',
202
        'fieldg': 'test@localhost',
203
        'related': 'Foo Bar',
204
        'related_raw': 42,
205
        'related_structured': {'id': 42, 'text': 'blah'},
183
WCS_CARDDEF_SCHEMAS = {
184
    'card_model_1': {
185
        'name': 'Card Model 1',
186
        'fields': [
187
            {'label': 'Field A', 'varname': 'fielda', 'type': 'string'},
188
            {'label': 'Field B', 'varname': 'fieldb', 'type': 'bool'},
189
            {'label': 'Field C', 'varname': 'fieldc', 'type': 'date'},
190
            {'label': 'Field D', 'varname': 'fieldd', 'type': 'file'},
191
            {'label': 'Field E', 'varname': 'fielde', 'type': 'text'},
192
            {'label': 'Field F', 'varname': 'fieldf', 'type': 'text', 'pre': True},
193
            {'label': 'Field G', 'varname': 'fieldg', 'type': 'email'},
194
            {'label': 'Related', 'varname': 'related', 'type': 'item'},
195
            {'label': 'Page', 'type': 'page'},
196
            {'label': 'Comment', 'type': 'comment'},
197
            {'label': 'Title', 'type': 'title'},
198
            {'label': 'Subtitle', 'type': 'subtitle'},
199
            {'label': 'Empty', 'varname': None, 'type': 'string'},
200
        ],
206 201
    },
207 202
}
208 203

  
......
247 242
        return WCS_USER_DRAFTS_DATA
248 243
    if '/api/cards/@list' in url:
249 244
        return WCS_CARDDEFS_DATA
250
    if '/api/cards/card_model_1/@schema' in url:
251
        return WCS_CARDDEF_SCHEMA
252
    if 'api/cards/card_model_1/11/' in url:
253
        return WCS_CARD_DATA
245
    m_schema = re.match(r'/api/cards/([a-z0-9_]+)/@schema', url)
246
    if m_schema:
247
        return WCS_CARDDEF_SCHEMAS.get(m_schema.group(1)) or {}
248
    m_card = re.match(r'/api/cards/([a-z0-9_]+)/(\d+)/', url)
249
    if m_card:
250
        try:
251
            return [d for d in WCS_CARDS_DATA[m_card.group(1)] if d['id'] == int(m_card.group(2))][0]
252
        except IndexError:
253
            return {}
254 254
    if 'api/cards/card_model_1/list/foo' in url:
255 255
        return WCS_CARDS_CUSTOM_VIEW_DATA
256
    if 'api/cards/card_model_1/list' in url:
257
        return WCS_CARDS_DATA
256
    m_list = re.match(r'/api/cards/([a-z0-9_]+)/list', url)
257
    if m_list:
258
        return WCS_CARDS_DATA[m_list.group(1)]
258 259
    return []
259 260

  
260 261

  
......
2114 2115
        for i in range(0, 3):
2115 2116
            assert '/api/cards/card_model_1/list' in mock_send.call_args_list[i * 2 + 1][0][0].url
2116 2117
            assert (
2117
                '/api/cards/card_model_1/%s/' % WCS_CARDS_DATA[i]['id']
2118
                '/api/cards/card_model_1/%s/' % WCS_CARDS_DATA['card_model_1'][i]['id']
2118 2119
                in mock_send.call_args_list[i * 2 + 2][0][0].url
2119 2120
            )
2120 2121

  
2121
-