woocommerce/plugins/woocommerce-admin/client/analytics/components/report-chart/test/index.js

65 lines
1.3 KiB
JavaScript
Raw Normal View History

/**
* External dependencies
*/
import { mount } from 'enzyme';
/**
* Internal dependencies
*/
import { ReportChart } from '../';
import { getChartMode, getSelectedFilter } from '../utils';
const path = '/analytics/revenue';
const data = {
data: {
intervals: [],
},
isEmpty: false,
isError: false,
isRequesting: false,
};
const selectedChart = {
Correcting and clarifying analytics terms and calculations (https://github.com/woocommerce/woocommerce-admin/pull/3104) * Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things * Add gross sales calculation to revenue stats endpoint. * Restore coupon_total when updating order stats. * Wire up gross sales to revenue report. * Fix revenue report refunds calculation when there are no refunds. * update net sales labels and cases in order, product and category tables * Subtract refunded shipping and taxes from gross sales. * pluses to minuses to fix the gross revenue and refund totals when refunding * Add gross_sales to revenue stats orderby enum. * Change refund labels to Returns * Remove usage of defunct coupon_total column. * Store refunded amount in stats table. * Rename "gross_total" column to "total_sales". * Net total for refund orders can be used instead of a new column. * Rename gross_revenue to total_sales. * Coalesce coupons total in order stats query. SUM()ing all nulls gives null, not zero. * Use segmentation selections to backfill missing data. Fo when report columns and segmentation columns don't match. * Remove errant gross_sales from expected interval test data. * Fix gross sales tests for revenue/stats. * Move missing segment fills back to their original locations. * Fix remaining tests failing because of gross sales. * Fix db upgrade function rename of gross_total column. * Fix linter errors.
2019-11-22 15:06:14 +00:00
key: 'total_sales',
label: 'Total Sales',
type: 'currency',
};
describe( 'ReportChart', () => {
test( 'should set the time-comparison mode prop by default', () => {
const reportChart = mount(
<ReportChart
path={ path }
primaryData={ data }
query={ {} }
secondaryData={ data }
selectedChart={ selectedChart }
/>
);
const chart = reportChart.find( 'Chart' );
expect( chart.props().mode ).toEqual( 'time-comparison' );
} );
test( 'should set the mode prop depending on the active filter', () => {
const filters = [
{
param: 'filter',
showFilters: () => true,
filters: [
{
value: 'lorem-ipsum',
chartMode: 'item-comparison',
settings: {
param: 'filter2',
},
},
],
},
];
const query = { filter: 'lorem-ipsum', filter2: 'ipsum-lorem' };
const selectedFilter = getSelectedFilter( filters, query );
const mode = getChartMode( selectedFilter, query );
expect( mode ).toEqual( 'item-comparison' );
} );
} );