React-Rosie
React-Rosie takes the power of RosieJs and adds some specific upgrades for React. The upgrades allow you to quickly generate Factories from your component's PropTypes.
// factories/user.js;; ;
validator
and props
are both new methods added onto Rosie's Factory class.
Supported Generators
-
Any
-
Array
-
Bool
-
Func
-
Node
-
Number
-
Object
-
String
-
ArrayOf
-
InstanceOf
-
ObjectOf
-
OneOf
-
OneOfType
-
Shape
API
React
)
Factory.setUpReact( React-Rosie needs your React instance so it can decode and apply generators for each of Reacts standard PropTypes. This function needs to be called before part of your code uses React PropTypes. We recommend that you do this first thing in your test setup.
validatorFn
, generator_function
)
instance.validator( The validatorFn
should be the same function that is passed in as your components custom
PropType validator.
note: you must register your custom validator before passing it to the props
method.
PropTypesDictionary
, [options
] )
instance.props( React-Rosie will match up React's standard PropTypes with a generator and automatically setup your factory.
If the prop isRequired
then that property will be set as an
attribute that will always be included in the
factory unless overridden.
If the prop is not required then it'll be an optional property. Optional properties will be undefined
unless explicitly included by passing the option of _PROPNAME: true
.
Options
Options use a nested format that can be as deep or as shallow as you'd like. Options can be used to control things like likely-hood of array length.
array
-
weight - key of length, value of decimal percentage of likely-hood
EXAMPLE:
{ 0: .3, 1: .4, 2: .1, 3: .1, 4: .1 }
func
- stub - function you'd like to have ran
number
- min - Min (inclusive) of the random value range
- max - Max (exclusive) of the random value range
string
- stringLength - length of string
arrayOf
-
weight - key of length, value of decimal percentage of likely-hood
EXAMPLE:
{ 0: .3, 1: .4, 2: .1, 3: .1, 4: .1 }
instanceOf
- args - Arguments passed to the constructor
objectOf
- keys - <Array > Keys of the object
- opts - Options of the type
shape
-
-
- another full Options object for the nested shape
-
Example
; // with displayNameconst user1 = User; // without displayNameconst user2 = User;