Convert knobs and actions to controls/args ConfirmEncryptionPublicKey story (#14319)

* Convert ConfirmEncryptionPublicKey story to controls

* Updating fromAccount as per suggestion

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
feature/default_network_editable
Francis Behnen 2 years ago committed by GitHub
parent 422aef569a
commit 1faace0115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 114
      ui/pages/confirm-encryption-public-key/confirm-encryption-public-key.stories.js

@ -1,49 +1,85 @@
import React, { useEffect } from 'react'; import React from 'react';
import { select } from '@storybook/addon-knobs'; import { Provider } from 'react-redux';
import { action } from '@storybook/addon-actions';
import configureStore from '../../store/store';
import testData from '../../../.storybook/test-data';
import ConfirmEncryptionPublicKey from './confirm-encryption-public-key.component';
import { store, getNewState } from '../../../.storybook/preview'; const store = configureStore(testData);
import { updateMetamaskState } from '../../store/actions'; const { confirmTransaction, history, metamask } = store.getState();
import ConfirmEncryptionPublicKey from '.';
export default { export default {
title: 'Pages/ConfirmEncryptionPublicKey', title: 'Pages/ConfirmEncryptionPublicKey',
id: __filename, id: __filename,
component: ConfirmEncryptionPublicKey,
decorators: [(story) => <Provider store={store}>{story()}</Provider>],
argTypes: {
fromAccount: {
control: {
type: 'object',
},
},
clearConfirmTransaction: {
action: 'clearConfirmTransaction',
},
cancelEncryptionPublicKey: {
action: 'cancelEncryptionPublicKey',
},
encryptionPublicKey: {
action: 'encryptionPublicKey',
},
conversionRate: {
control: {
type: 'number',
},
},
history: {
control: {
type: 'object',
},
},
requesterAddress: {
control: {
type: 'text',
},
},
txData: {
control: {
type: 'object',
},
},
subjectMetadata: {
control: {
type: 'object',
},
},
mostRecentOverviewPage: {
control: {
type: 'text',
},
},
nativeCurrency: {
control: {
type: 'text',
},
},
},
args: {
fromAccount: metamask.accountArray[0],
conversionRate: metamask.conversionRate,
history: {
push: action('history.push()'),
},
requesterAddress: confirmTransaction.txData.txParams.from,
txData: confirmTransaction.txData,
subjectMetadata: metamask.subjectMetadata,
mostRecentOverviewPage: history.mostRecentOverviewPage,
nativeCurrency: metamask.nativeCurrency,
},
}; };
const PageSet = ({ children }) => { export const DefaultStory = (args) => {
const state = store.getState(); return <ConfirmEncryptionPublicKey {...args} />;
const options = [];
const { identities, unapprovedEncryptionPublicKeyMsgs } = state.metamask;
Object.keys(identities).forEach(function (key) {
options.push({
label: identities[key].name,
name: identities[key].name,
address: key,
});
});
const account = select('Account', options, options[0]);
useEffect(() => {
unapprovedEncryptionPublicKeyMsgs['7786962153682822'].msgParams =
account.address;
store.dispatch(
updateMetamaskState(
getNewState(state.metamask, {
unapprovedEncryptionPublicKeyMsgs,
}),
),
);
}, [account, unapprovedEncryptionPublicKeyMsgs, state.metamask]);
return children;
};
export const DefaultStory = () => {
return (
<PageSet>
<ConfirmEncryptionPublicKey />
</PageSet>
);
}; };
DefaultStory.storyName = 'Default'; DefaultStory.storyName = 'Default';

Loading…
Cancel
Save