diff --git a/__tests__/actions/receive.test.js b/__tests__/actions/receive.test.js new file mode 100644 index 0000000..9ec0391 --- /dev/null +++ b/__tests__/actions/receive.test.js @@ -0,0 +1,49 @@ +// @flow + +import configureStore from 'redux-mock-store'; + +import { + LOAD_ADDRESSES_SUCCESS, + LOAD_ADDRESSES_ERROR, + loadAddressesSuccess, + loadAddressesError, +} from '../../app/redux/modules/receive'; + +const store = configureStore()(); + +describe('Receive Actions', () => { + beforeEach(() => store.clearActions()); + + test('should create an action to load addresses with success', () => { + const payload = { + addresses: [ + 'tm0a9si0ds09gj02jj', + 'smas098gk02jf0kskk' + ], + }; + + store.dispatch(loadAddressesSuccess(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_ADDRESSES_SUCCESS, + payload, + }), + ); + }); + + test('should create an action to load addresses with error', () => { + const payload = { + error: 'Something went wrong!', + }; + + store.dispatch(loadAddressesError(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_ADDRESSES_ERROR, + payload, + }), + ); + }); +}); diff --git a/__tests__/actions/send.test.js b/__tests__/actions/send.test.js new file mode 100644 index 0000000..4f82909 --- /dev/null +++ b/__tests__/actions/send.test.js @@ -0,0 +1,116 @@ +// @flow + +import configureStore from 'redux-mock-store'; + +import { + SEND_TRANSACTION, + SEND_TRANSACTION_SUCCESS, + SEND_TRANSACTION_ERROR, + RESET_SEND_TRANSACTION, + VALIDATE_ADDRESS_SUCCESS, + VALIDATE_ADDRESS_ERROR, + LOAD_ZEC_PRICE, + sendTransaction, + sendTransactionSuccess, + sendTransactionError, + resetSendTransaction, + validateAddressSuccess, + validateAddressError, + loadZECPrice, +} from '../../app/redux/modules/send'; + +const store = configureStore()(); + +describe('Send Actions', () => { + beforeEach(() => store.clearActions()); + + test('should create an action to send a transaction', () => { + store.dispatch(sendTransaction()); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: SEND_TRANSACTION, + }), + ); + }); + + test('should create an action to send transaction with success', () => { + const payload = { + operationId: '0b9ii4590ab-1d012klfo' + }; + + store.dispatch(sendTransactionSuccess(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: SEND_TRANSACTION_SUCCESS, + payload, + }), + ); + }); + + test('should create an action to send transaction with error', () => { + const payload = { + error: 'Something went wrong!', + }; + + store.dispatch(sendTransactionError(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: SEND_TRANSACTION_ERROR, + payload, + }), + ); + }); + + test('should reset a transaction', () => { + store.dispatch(resetSendTransaction()); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: RESET_SEND_TRANSACTION, + }), + ); + }); + + test('should validate a address with success', () => { + const payload = { + isValid: true + }; + + store.dispatch(validateAddressSuccess(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: VALIDATE_ADDRESS_SUCCESS, + payload, + }), + ); + }); + + test('should validate a address with error', () => { + store.dispatch(validateAddressError()); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: VALIDATE_ADDRESS_ERROR, + }), + ); + }); + + test('should load ZEC price', () => { + const payload = { + value: 1.35 + }; + + store.dispatch(loadZECPrice(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_ZEC_PRICE, + payload + }), + ); + }); +}); diff --git a/__tests__/actions/transactions.test.js b/__tests__/actions/transactions.test.js new file mode 100644 index 0000000..836ad4a --- /dev/null +++ b/__tests__/actions/transactions.test.js @@ -0,0 +1,59 @@ +// @flow + +import configureStore from 'redux-mock-store'; + +import { + LOAD_TRANSACTIONS, + LOAD_TRANSACTIONS_SUCCESS, + LOAD_TRANSACTIONS_ERROR, + loadTransactions, + loadTransactionsSuccess, + loadTransactionsError, +} from '../../app/redux/modules/transactions'; + +const store = configureStore()(); + +describe('Transactions Actions', () => { + beforeEach(() => store.clearActions()); + + test('should create an action to load transactions', () => { + store.dispatch(loadTransactions()); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_TRANSACTIONS, + }), + ); + }); + + test('should create an action to load transactions with success', () => { + const payload = { + list: [], + zecPrice: 0, + }; + + store.dispatch(loadTransactionsSuccess(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_TRANSACTIONS_SUCCESS, + payload, + }), + ); + }); + + test('should create an action to load transactions with error', () => { + const payload = { + error: 'Something went wrong!', + }; + + store.dispatch(loadTransactionsError(payload)); + + expect(store.getActions()[0]).toEqual( + expect.objectContaining({ + type: LOAD_TRANSACTIONS_ERROR, + payload, + }), + ); + }); +});