@@ -62,6 +62,75 @@ public function itCanHaveOptions(): void
62
62
$ this ->assertEquals ($ options ['exposedHeaders ' ], $ normalized ['exposedHeaders ' ]);
63
63
}
64
64
65
+ /**
66
+ * @test
67
+ */
68
+ public function itCanSetOptions (): void
69
+ {
70
+ $ service = new CorsService ();
71
+ $ normalized = $ this ->getOptionsFromService ($ service );
72
+ $ this ->assertEquals ([], $ normalized ['allowedOrigins ' ]);
73
+
74
+ $ this ->assertInstanceOf (CorsService::class, $ service );
75
+
76
+ $ options = [
77
+ 'allowedOrigins ' => ['localhost ' ],
78
+ 'allowedOriginsPatterns ' => ['/something/ ' ],
79
+ 'allowedHeaders ' => ['x-custom ' ],
80
+ 'allowedMethods ' => ['PUT ' ],
81
+ 'maxAge ' => 684 ,
82
+ 'supportsCredentials ' => true ,
83
+ 'exposedHeaders ' => ['x-custom-2 ' ],
84
+ ];
85
+
86
+ $ service ->setOptions ($ options );
87
+
88
+ $ normalized = $ this ->getOptionsFromService ($ service );
89
+
90
+ $ this ->assertEquals ($ options ['allowedOrigins ' ], $ normalized ['allowedOrigins ' ]);
91
+ $ this ->assertEquals ($ options ['allowedOriginsPatterns ' ], $ normalized ['allowedOriginsPatterns ' ]);
92
+ $ this ->assertEquals ($ options ['allowedHeaders ' ], $ normalized ['allowedHeaders ' ]);
93
+ $ this ->assertEquals ($ options ['allowedMethods ' ], $ normalized ['allowedMethods ' ]);
94
+ $ this ->assertEquals ($ options ['maxAge ' ], $ normalized ['maxAge ' ]);
95
+ $ this ->assertEquals ($ options ['supportsCredentials ' ], $ normalized ['supportsCredentials ' ]);
96
+ $ this ->assertEquals ($ options ['exposedHeaders ' ], $ normalized ['exposedHeaders ' ]);
97
+ }
98
+
99
+ /**
100
+ * @test
101
+ */
102
+ public function itCanOverwriteSetOptions (): void
103
+ {
104
+ $ service = new CorsService (['allowedOrigins ' => ['example.com ' ]]);
105
+ $ normalized = $ this ->getOptionsFromService ($ service );
106
+
107
+ $ this ->assertEquals (['example.com ' ], $ normalized ['allowedOrigins ' ]);
108
+
109
+ $ this ->assertInstanceOf (CorsService::class, $ service );
110
+
111
+ $ options = [
112
+ 'allowedOrigins ' => ['localhost ' ],
113
+ 'allowedOriginsPatterns ' => ['/something/ ' ],
114
+ 'allowedHeaders ' => ['x-custom ' ],
115
+ 'allowedMethods ' => ['PUT ' ],
116
+ 'maxAge ' => 684 ,
117
+ 'supportsCredentials ' => true ,
118
+ 'exposedHeaders ' => ['x-custom-2 ' ],
119
+ ];
120
+
121
+ $ service ->setOptions ($ options );
122
+
123
+ $ normalized = $ this ->getOptionsFromService ($ service );
124
+
125
+ $ this ->assertEquals ($ options ['allowedOrigins ' ], $ normalized ['allowedOrigins ' ]);
126
+ $ this ->assertEquals ($ options ['allowedOriginsPatterns ' ], $ normalized ['allowedOriginsPatterns ' ]);
127
+ $ this ->assertEquals ($ options ['allowedHeaders ' ], $ normalized ['allowedHeaders ' ]);
128
+ $ this ->assertEquals ($ options ['allowedMethods ' ], $ normalized ['allowedMethods ' ]);
129
+ $ this ->assertEquals ($ options ['maxAge ' ], $ normalized ['maxAge ' ]);
130
+ $ this ->assertEquals ($ options ['supportsCredentials ' ], $ normalized ['supportsCredentials ' ]);
131
+ $ this ->assertEquals ($ options ['exposedHeaders ' ], $ normalized ['exposedHeaders ' ]);
132
+ }
133
+
65
134
/**
66
135
* @test
67
136
*/
0 commit comments