|
13 | 13 | from docx.opc.packuri import PackURI |
14 | 14 | from docx.oxml.parts.numbering import CT_Numbering |
15 | 15 | from docx.package import Package |
16 | | -from docx.parts.numbering import NumberingPart |
| 16 | +from docx.parts.numbering import NumberingPart, _NumberingDefinitions |
17 | 17 |
|
18 | 18 | from ..unitutil import ( |
19 | | - function_mock, initializer_mock, instance_mock, method_mock |
| 19 | + function_mock, class_mock, initializer_mock, instance_mock, method_mock |
20 | 20 | ) |
21 | 21 |
|
22 | 22 |
|
@@ -51,6 +51,14 @@ def it_can_be_constructed_by_opc_part_factory(self, construct_fixture): |
51 | 51 | ) |
52 | 52 | assert isinstance(numbering_part, NumberingPart) |
53 | 53 |
|
| 54 | + def it_provides_access_to_the_numbering_definitions( |
| 55 | + self, num_defs_fixture): |
| 56 | + (numbering_part, _NumberingDefinitions_, numbering_elm_, |
| 57 | + numbering_definitions_) = num_defs_fixture |
| 58 | + numbering_definitions = numbering_part.numbering_definitions |
| 59 | + _NumberingDefinitions_.assert_called_once_with(numbering_elm_) |
| 60 | + assert numbering_definitions is numbering_definitions_ |
| 61 | + |
54 | 62 | # fixtures ------------------------------------------------------- |
55 | 63 |
|
56 | 64 | @pytest.fixture |
@@ -83,6 +91,27 @@ def load_fixture( |
83 | 91 | numbering_part_load_, partname_, blob_, package_, numbering_part_ |
84 | 92 | ) |
85 | 93 |
|
| 94 | + @pytest.fixture |
| 95 | + def _NumberingDefinitions_(self, request, numbering_definitions_): |
| 96 | + return class_mock( |
| 97 | + request, 'docx.parts.numbering._NumberingDefinitions', |
| 98 | + return_value=numbering_definitions_ |
| 99 | + ) |
| 100 | + |
| 101 | + @pytest.fixture |
| 102 | + def num_defs_fixture( |
| 103 | + self, _NumberingDefinitions_, numbering_elm_, |
| 104 | + numbering_definitions_): |
| 105 | + numbering_part = NumberingPart(None, None, numbering_elm_, None) |
| 106 | + return ( |
| 107 | + numbering_part, _NumberingDefinitions_, numbering_elm_, |
| 108 | + numbering_definitions_ |
| 109 | + ) |
| 110 | + |
| 111 | + @pytest.fixture |
| 112 | + def numbering_definitions_(self, request): |
| 113 | + return instance_mock(request, _NumberingDefinitions) |
| 114 | + |
86 | 115 | @pytest.fixture |
87 | 116 | def numbering_elm_(self, request): |
88 | 117 | return instance_mock(request, CT_Numbering) |
|
0 commit comments