Code Duplication    Length = 34-35 lines in 3 locations

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

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