10
10
11
11
import pytest
12
12
13
+ from docx .opc .constants import CONTENT_TYPE as CT
14
+ from docx .opc .part import PartFactory
15
+ from docx .package import Package
13
16
from docx .parts .settings import SettingsPart
14
17
from docx .settings import Settings
15
18
16
19
from ..unitutil .cxml import element
17
- from ..unitutil .mock import class_mock , instance_mock
20
+ from ..unitutil .mock import class_mock , instance_mock , method_mock
18
21
19
22
20
23
class DescribeSettingsPart (object ):
21
24
25
+ def it_is_used_by_loader_to_construct_settings_part (self , load_fixture ):
26
+ partname , content_type , blob , package_ , settings_part_ = load_fixture
27
+ part = PartFactory (partname , content_type , None , blob , package_ )
28
+ SettingsPart .load .assert_called_once_with (
29
+ partname , content_type , blob , package_
30
+ )
31
+ assert part is settings_part_
32
+
22
33
def it_provides_access_to_its_settings (self , settings_fixture ):
23
34
settings_part , Settings_ , settings_ = settings_fixture
24
35
settings = settings_part .settings
@@ -27,6 +38,13 @@ def it_provides_access_to_its_settings(self, settings_fixture):
27
38
28
39
# fixtures -------------------------------------------------------
29
40
41
+ @pytest .fixture
42
+ def load_fixture (self , load_ , package_ , settings_part_ ):
43
+ partname , blob = 'partname' , 'blob'
44
+ content_type = CT .WML_SETTINGS
45
+ load_ .return_value = settings_part_
46
+ return partname , content_type , blob , package_ , settings_part_
47
+
30
48
@pytest .fixture
31
49
def settings_fixture (self , Settings_ , settings_ ):
32
50
settings_elm = element ('w:settings' )
@@ -35,6 +53,14 @@ def settings_fixture(self, Settings_, settings_):
35
53
36
54
# fixture components ---------------------------------------------
37
55
56
+ @pytest .fixture
57
+ def load_ (self , request ):
58
+ return method_mock (request , SettingsPart , 'load' )
59
+
60
+ @pytest .fixture
61
+ def package_ (self , request ):
62
+ return instance_mock (request , Package )
63
+
38
64
@pytest .fixture
39
65
def Settings_ (self , request , settings_ ):
40
66
return class_mock (
@@ -44,3 +70,7 @@ def Settings_(self, request, settings_):
44
70
@pytest .fixture
45
71
def settings_ (self , request ):
46
72
return instance_mock (request , Settings )
73
+
74
+ @pytest .fixture
75
+ def settings_part_ (self , request ):
76
+ return instance_mock (request , SettingsPart )
0 commit comments