@@ -10,40 +10,20 @@ def filename
10
10
'app/assets/javascripts/components/generated_component.es6.jsx'
11
11
end
12
12
13
- test "creates the component file" do
14
- run_generator %w( GeneratedComponent --es6 )
15
-
16
- assert_file filename
13
+ def class_name
14
+ 'GeneratedComponent'
17
15
end
18
16
19
- test "creates the component file with a node argument " do
17
+ test "uses es6 syntax " do
20
18
run_generator %w( GeneratedComponent name --es6 )
21
- assert_file filename , %r{name: React.PropTypes.node}
22
- end
23
-
24
- test "creates the component file with various standard proptypes" do
25
- proptypes = %w( string bool number array func number object any )
26
- run_generator %w( GeneratedComponent ) + proptypes . map { |type | "my_#{ type } :#{ type } " } + [ "--es6" ]
27
- proptypes . each do |type |
28
- assert_file filename , %r(my#{ type . capitalize } : React.PropTypes.#{ type } )
29
- end
30
- end
31
19
32
- test "creates a component file with an instanceOf property" do
33
- run_generator %w( GeneratedComponent favorite_food:instanceOf{food} --es6 )
34
- assert_file filename , /favoriteFood: React.PropTypes.instanceOf\( Food\) /
20
+ assert_file filename , /^class\s #{ class_name } \s extends\s React\. Component/
35
21
end
36
22
37
- test "creates a component file with a oneOf property" do
38
- run_generator %w( GeneratedComponent favorite_food:oneOf{pizza,hamburgers} --es6 )
39
- assert_file filename , /favoriteFood: React.PropTypes.oneOf\( \[ 'pizza','hamburgers'\] \) /
40
- end
41
-
42
- test "creates a component file with a oneOfType property" do
43
- run_generator %w( GeneratedComponent favorite_food:oneOfType{string,Food} --es6 )
44
- expected_property = "favoriteFood: React.PropTypes.oneOfType([React.PropTypes.string,React.PropTypes.instanceOf(Food)])"
23
+ test "assigns defaultProps after class definintion" do
24
+ run_generator %w( GeneratedComponent name --es6 )
45
25
46
- assert_file filename , Regexp . new ( Regexp . quote ( expected_property ) )
26
+ assert_file filename , / \s ^ #{ class_name } \. propTypes/
47
27
end
48
28
49
29
test "generates working jsx" do
0 commit comments