Code Duplication    Length = 34-35 lines in 3 locations

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

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