48 lines
2.0 KiB
JavaScript
48 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
const { mount, flushPromises } = require( '@vue/test-utils' );
|
|
const { mockMwApiGet } = require( './SpecialBlock.setup.js' );
|
|
const TargetBlockLog = require( '../../../resources/src/mediawiki.special.block/components/TargetBlockLog.vue' );
|
|
|
|
beforeAll( () => mockMwApiGet() );
|
|
|
|
describe( 'TargetBlockLog', () => {
|
|
it( 'should show a table with one row when given a user with one block', async () => {
|
|
const wrapper = mount( TargetBlockLog, {
|
|
propsData: { targetUser: 'ExampleUser' }
|
|
} );
|
|
await flushPromises();
|
|
// Test: The table should exist
|
|
expect( wrapper.find( '.cdx-table__table' ).exists() ).toBeTruthy();
|
|
const rows = wrapper.findAll( '.cdx-table__table tbody tr' );
|
|
// Test: The table tbody should have one row
|
|
expect( rows ).toHaveLength( 1 );
|
|
} );
|
|
it( 'should show a table with the no-previous-blocks message when given a user with no blocks', async () => {
|
|
const wrapper = mount( TargetBlockLog, {
|
|
propsData: { targetUser: 'NeverBlocked' }
|
|
} );
|
|
await flushPromises();
|
|
// Test: The table should exist
|
|
expect( wrapper.find( '.cdx-table__table' ).exists() ).toBeTruthy();
|
|
const rows = wrapper.findAll( '.cdx-table__table tbody tr' );
|
|
// Test: The table tbody should have one row
|
|
expect( rows ).toHaveLength( 1 );
|
|
// Test: The row should contain the no-previous-blocks message
|
|
expect( rows[ 0 ].text() ).toContain( 'block-user-no-previous-blocks' );
|
|
} );
|
|
it( 'should show a table with ten rows, and a show more link, when given a user with more than ten blocks', async () => {
|
|
const wrapper = mount( TargetBlockLog, {
|
|
propsData: { targetUser: 'BlockedALot' }
|
|
} );
|
|
await flushPromises();
|
|
// Test: The table should exist
|
|
expect( wrapper.find( '.cdx-table__table' ).exists() ).toBeTruthy();
|
|
const rows = wrapper.findAll( '.cdx-table__table tbody tr' );
|
|
// Test: The table tbody should have ten rows
|
|
expect( rows ).toHaveLength( 10 );
|
|
// Test: The show more link should exist
|
|
expect( wrapper.find( '.mw-block-fulllog' ).exists() ).toBeTruthy();
|
|
} );
|
|
} );
|