|
11 | 11 | from docx.opc.coreprops import CoreProperties |
12 | 12 | from docx.package import Package |
13 | 13 | from docx.parts.document import DocumentPart |
| 14 | +from docx.parts.hdrftr import HeaderPart |
14 | 15 | from docx.parts.image import ImagePart |
15 | 16 | from docx.parts.numbering import NumberingPart |
16 | 17 | from docx.parts.settings import SettingsPart |
|
30 | 31 |
|
31 | 32 | class DescribeDocumentPart(object): |
32 | 33 |
|
| 34 | + def it_can_add_a_header_part(self, package_, HeaderPart_, header_part_, relate_to_): |
| 35 | + HeaderPart_.new.return_value = header_part_ |
| 36 | + relate_to_.return_value = "rId7" |
| 37 | + document_part = DocumentPart(None, None, None, package_) |
| 38 | + |
| 39 | + header_part, rId = document_part.add_header_part() |
| 40 | + |
| 41 | + HeaderPart_.new.assert_called_once_with(package_) |
| 42 | + relate_to_.assert_called_once_with(document_part, header_part_, RT.HEADER) |
| 43 | + assert header_part is header_part_ |
| 44 | + assert rId == "rId7" |
| 45 | + |
33 | 46 | def it_can_drop_a_specified_header_part(self, drop_rel_): |
34 | 47 | document_part = DocumentPart(None, None, None, None) |
35 | 48 |
|
@@ -277,6 +290,14 @@ def drop_rel_(self, request): |
277 | 290 | def get_or_add_image_(self, request): |
278 | 291 | return method_mock(request, DocumentPart, 'get_or_add_image') |
279 | 292 |
|
| 293 | + @pytest.fixture |
| 294 | + def HeaderPart_(self, request): |
| 295 | + return class_mock(request, 'docx.parts.document.HeaderPart') |
| 296 | + |
| 297 | + @pytest.fixture |
| 298 | + def header_part_(self, request): |
| 299 | + return instance_mock(request, HeaderPart) |
| 300 | + |
280 | 301 | @pytest.fixture |
281 | 302 | def image_(self, request): |
282 | 303 | return instance_mock(request, Image) |
|
0 commit comments