@@ -23,9 +23,9 @@ public void Initialize()
23
23
{
24
24
_settings = new Mock < ISimplifyWebSettings > ( ) ;
25
25
_context = new Mock < HttpContext > ( ) ;
26
+ _responseCookies = new Mock < IResponseCookies > ( ) ;
26
27
27
28
_settings . SetupGet ( x => x . DefaultLanguage ) . Returns ( "en" ) ;
28
- _responseCookies = new Mock < IResponseCookies > ( ) ;
29
29
30
30
_context . SetupGet ( x => x . Request . Cookies ) . Returns ( Mock . Of < IRequestCookieCollection > ( ) ) ;
31
31
_context . SetupGet ( x => x . Response . Cookies ) . Returns ( _responseCookies . Object ) ;
@@ -34,23 +34,29 @@ public void Initialize()
34
34
}
35
35
36
36
[ Test ]
37
- public void Constructor_NoRequestCookieLanguage_DefaultLanguageSet ( )
37
+ public void Constructor_NoRequestCookieLanguageAndCookieLanguageIsEnabled_DefaultLanguageSet ( )
38
38
{
39
+ // Arrange
40
+ _settings . SetupGet ( x => x . AcceptCookieLanguage ) . Returns ( true ) ;
41
+
39
42
// Assert
40
43
Assert . AreEqual ( "en" , _languageManager . Language ) ;
41
44
}
42
45
43
46
[ Test ]
44
- public void Constructor_HaveRequestCookie_CurrentLanguageSet ( )
47
+ public void Constructor_HaveRequestCookieLanguageAndCookieLanguageIsEnabled_CurrentLanguageSet ( )
45
48
{
46
49
// Assign
47
50
48
51
var cookieCollection = new Mock < IRequestCookieCollection > ( ) ;
52
+
49
53
cookieCollection . SetupGet ( x => x [ It . Is < string > ( s => s == LanguageManager . CookieLanguageFieldName ) ] ) . Returns ( "ru" ) ;
50
- _context . SetupGet ( x => x . Request . Cookies ) . Returns ( cookieCollection . Object ) ;
51
54
55
+ _settings . SetupGet ( x => x . AcceptCookieLanguage ) . Returns ( true ) ;
52
56
_settings . SetupGet ( x => x . DefaultLanguage ) . Returns ( "en" ) ;
53
57
58
+ _context . SetupGet ( x => x . Request . Cookies ) . Returns ( cookieCollection . Object ) ;
59
+
54
60
// Act
55
61
_languageManager = new LanguageManager ( _settings . Object , _context . Object ) ;
56
62
@@ -70,9 +76,10 @@ public void SetCookieLanguage_CorrectLanguage_CorrectCookieCreated()
70
76
{
71
77
// Assign
72
78
73
- _settings . SetupGet ( x => x . DefaultLanguage ) . Returns ( "en" ) ;
74
79
_languageManager = new LanguageManager ( _settings . Object , _context . Object ) ;
75
80
81
+ _settings . SetupGet ( x => x . DefaultLanguage ) . Returns ( "en" ) ;
82
+
76
83
_responseCookies . Setup ( x => x . Append ( It . IsAny < string > ( ) , It . IsAny < string > ( ) ) ) . Callback < string , string > ( ( key , value ) =>
77
84
{
78
85
Assert . AreEqual ( "Set-Cookie" , key ) ;
@@ -88,9 +95,11 @@ public void Constructor_HaveHeaderLanguageAndSettingIsEnabledCase1_LanguageSetFr
88
95
{
89
96
// Assign
90
97
91
- _settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
92
98
var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
99
+
93
100
header . Append ( "Accept-Language" , "ru-RU" ) ;
101
+
102
+ _settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
94
103
_context . SetupGet ( x => x . Request . Headers ) . Returns ( header ) ;
95
104
96
105
// Act
@@ -105,9 +114,11 @@ public void Constructor_HaveHeaderLanguageAndSettingIsEnabledCase2_LanguageSetFr
105
114
{
106
115
// Assign
107
116
108
- _settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
109
117
var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
118
+
110
119
header . Append ( "Accept-Language" , "ru-RU;q=0.5" ) ;
120
+
121
+ _settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
111
122
_context . SetupGet ( x => x . Request . Headers ) . Returns ( header ) ;
112
123
113
124
// Act
@@ -118,17 +129,21 @@ public void Constructor_HaveHeaderLanguageAndSettingIsEnabledCase2_LanguageSetFr
118
129
}
119
130
120
131
[ Test ]
121
- public void Constructor_HaveHeaderLanguageAndCookieLanguage_LanguageSetFromCookie ( )
132
+ public void Constructor_HaveHeaderLanguageAndCookieLanguageAndCookieLanguageIsEnabled_LanguageSetFromCookie ( )
122
133
{
123
134
// Assign
124
135
125
136
var cookieCollection = new Mock < IRequestCookieCollection > ( ) ;
137
+ var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
138
+
139
+ header . Append ( "Accept-Language" , "ru-RU" ) ;
140
+
126
141
cookieCollection . SetupGet ( x => x [ It . Is < string > ( s => s == LanguageManager . CookieLanguageFieldName ) ] ) . Returns ( "fr" ) ;
127
- _context . SetupGet ( x => x . Request . Cookies ) . Returns ( cookieCollection . Object ) ;
128
142
143
+ _settings . SetupGet ( x => x . AcceptCookieLanguage ) . Returns ( true ) ;
129
144
_settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
130
- var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
131
- header . Append ( "Accept-Language" , "ru-RU" ) ;
145
+
146
+ _context . SetupGet ( x => x . Request . Cookies ) . Returns ( cookieCollection . Object ) ;
132
147
_context . SetupGet ( x => x . Request . Headers ) . Returns ( header ) ;
133
148
134
149
// Act
@@ -139,12 +154,37 @@ public void Constructor_HaveHeaderLanguageAndCookieLanguage_LanguageSetFromCooki
139
154
}
140
155
141
156
[ Test ]
142
- public void Constructor_NoBrowserLanguage_DefaultLanguageSet ( )
157
+ public void Constructor_HaveHeaderLanguageAndCookieLanguageAndCookieLanguageIsDisabled_LanguageSetFromHeader ( )
143
158
{
144
159
// Assign
145
160
161
+ var cookieCollection = new Mock < IRequestCookieCollection > ( ) ;
162
+ var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
163
+
164
+ header . Append ( "Accept-Language" , "ru-RU" ) ;
165
+
166
+ cookieCollection . SetupGet ( x => x [ It . Is < string > ( s => s == LanguageManager . CookieLanguageFieldName ) ] ) . Returns ( "fr" ) ;
167
+
146
168
_settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
169
+
170
+ _context . SetupGet ( x => x . Request . Cookies ) . Returns ( cookieCollection . Object ) ;
171
+ _context . SetupGet ( x => x . Request . Headers ) . Returns ( header ) ;
172
+
173
+ // Act
174
+ _languageManager = new LanguageManager ( _settings . Object , _context . Object ) ;
175
+
176
+ // Assert
177
+ Assert . AreEqual ( "ru" , _languageManager . Language ) ;
178
+ }
179
+
180
+ [ Test ]
181
+ public void Constructor_NoHeaderLanguage_DefaultLanguageSet ( )
182
+ {
183
+ // Assign
184
+
147
185
var header = new HeaderDictionary ( new Dictionary < string , StringValues > ( ) ) ;
186
+
187
+ _settings . SetupGet ( x => x . AcceptHeaderLanguage ) . Returns ( true ) ;
148
188
_context . SetupGet ( x => x . Request . Headers ) . Returns ( header ) ;
149
189
150
190
// Act
0 commit comments