add tests for preview step extra vars

This commit is contained in:
Keith Grant 2020-05-27 11:29:44 -07:00
parent 5eeb8b0337
commit fe7df910e2
3 changed files with 28 additions and 2 deletions

View File

@ -1,6 +1,6 @@
import yaml from 'js-yaml';
export default function mergeExtraVars(extraVars, survey = {}) {
export default function mergeExtraVars(extraVars = '', survey = {}) {
const vars = yaml.safeLoad(extraVars) || {};
return {
...vars,

View File

@ -32,6 +32,10 @@ describe('mergeExtraVars', () => {
});
});
test('should handle undefined', () => {
expect(mergeExtraVars(undefined, undefined)).toEqual({});
});
describe('maskPasswords', () => {
test('should mask password fields', () => {
const vars = {

View File

@ -71,8 +71,30 @@ describe('PreviewStep', () => {
expect(detail).toHaveLength(1);
expect(detail.prop('resource')).toEqual(resource);
expect(detail.prop('overrides')).toEqual({
extra_vars: '---',
limit: '4',
});
});
test('should handle extra vars without survey', async () => {
let wrapper;
await act(async () => {
wrapper = mountWithContexts(
<Formik initialValues={{ extra_vars: 'one: 1' }}>
<PreviewStep
resource={resource}
config={{
ask_variables_on_launch: true,
}}
/>
</Formik>
);
});
const detail = wrapper.find('PromptDetail');
expect(detail).toHaveLength(1);
expect(detail.prop('resource')).toEqual(resource);
expect(detail.prop('overrides')).toEqual({
extra_vars: 'one: 1',
});
});
});