Code Duplication    Length = 34-35 lines in 3 locations

backend/tracim_backend/tests/library/test_content_api.py 3 locations

@@ 104-138 (lines=35) @@
101
            'value is {} instead of {}'.format(sorteds[1].content_id,
102
                                               c1.content_id))
103
104
    def test_unit__create_content__OK_nominal_case(self):
105
        uapi = UserApi(
106
            session=self.session,
107
            config=self.app_config,
108
            current_user=None,
109
        )
110
        group_api = GroupApi(
111
            current_user=None,
112
            session=self.session,
113
            config=self.app_config,
114
        )
115
        groups = [group_api.get_one(Group.TIM_USER),
116
                  group_api.get_one(Group.TIM_MANAGER),
117
                  group_api.get_one(Group.TIM_ADMIN)]
118
119
        user = uapi.create_minimal_user(email='this.is@user',
120
                                        groups=groups, save_now=True)
121
        workspace = WorkspaceApi(
122
            current_user=user,
123
            session=self.session,
124
            config=self.app_config,
125
        ).create_workspace('test workspace', save_now=True)
126
        api = ContentApi(
127
            current_user=user,
128
            session=self.session,
129
            config=self.app_config,
130
        )
131
        item = api.create(
132
            content_type_slug=CONTENT_TYPES.Folder.slug,
133
            workspace=workspace,
134
            parent=None,
135
            label='not_deleted',
136
            do_save=True
137
        )
138
        assert isinstance(item, Content)
139
140
    def test_unit__create_content__err_empty_label(self):
141
        uapi = UserApi(
@@ 243-276 (lines=34) @@
240
            do_save=True
241
        )
242
243
    def test_unit__create_content__err_content_type_not_allowed_in_this_workspace(self):
244
        uapi = UserApi(
245
            session=self.session,
246
            config=self.app_config,
247
            current_user=None,
248
        )
249
        group_api = GroupApi(
250
            current_user=None,
251
            session=self.session,
252
            config=self.app_config,
253
        )
254
        groups = [group_api.get_one(Group.TIM_USER),
255
                  group_api.get_one(Group.TIM_MANAGER),
256
                  group_api.get_one(Group.TIM_ADMIN)]
257
258
        user = uapi.create_minimal_user(email='this.is@user',
259
                                        groups=groups, save_now=True)
260
        workspace = WorkspaceApi(
261
            current_user=user,
262
            session=self.session,
263
            config=self.app_config,
264
        ).create_workspace('test workspace', save_now=True)
265
        api = ContentApi(
266
            current_user=user,
267
            session=self.session,
268
            config=self.app_config,
269
        )
270
        with pytest.raises(UnallowedSubContent):
271
            api.create(
272
                content_type_slug=CONTENT_TYPES.Event.slug,
273
                workspace=workspace,
274
                parent=None,
275
                label='lapin',
276
                do_save=True
277
           )
278
279
    def test_unit__create_content__err_same_label_as_another_content(self):
@@ 140-173 (lines=34) @@
137
        )
138
        assert isinstance(item, Content)
139
140
    def test_unit__create_content__err_empty_label(self):
141
        uapi = UserApi(
142
            session=self.session,
143
            config=self.app_config,
144
            current_user=None,
145
        )
146
        group_api = GroupApi(
147
            current_user=None,
148
            session=self.session,
149
            config=self.app_config,
150
        )
151
        groups = [group_api.get_one(Group.TIM_USER),
152
                  group_api.get_one(Group.TIM_MANAGER),
153
                  group_api.get_one(Group.TIM_ADMIN)]
154
155
        user = uapi.create_minimal_user(email='this.is@user',
156
                                        groups=groups, save_now=True)
157
        workspace = WorkspaceApi(
158
            current_user=user,
159
            session=self.session,
160
            config=self.app_config,
161
        ).create_workspace('test workspace', save_now=True)
162
        api = ContentApi(
163
            current_user=user,
164
            session=self.session,
165
            config=self.app_config,
166
        )
167
        with pytest.raises(EmptyLabelNotAllowed):
168
            api.create(
169
                content_type_slug=CONTENT_TYPES.Thread.slug,
170
                workspace=workspace,
171
                parent=None,
172
                label='',
173
                do_save=True
174
            )
175
176
    def test_unit__create_content__err_content_type_not_allowed_in_this_folder(self):