blob: 3fe55a52e9d25672cfa5c8861286d59421de5bb4 [file] [log] [blame]
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import '../../../test/common-test-setup';
import './gr-agreements-list';
import {stubRestApi, waitEventLoop} from '../../../test/test-utils';
import {GrAgreementsList} from './gr-agreements-list';
import {ContributorAgreementInfo} from '../../../types/common';
import {fixture, html, assert} from '@open-wc/testing';
suite('gr-agreements-list tests', () => {
let element: GrAgreementsList;
setup(async () => {
const agreements: ContributorAgreementInfo[] = [
{
url: 'some url',
description: 'Agreements 1 description',
name: 'Agreements 1',
},
];
stubRestApi('getAccountAgreements').returns(Promise.resolve(agreements));
element = await fixture(html`<gr-agreements-list></gr-agreements-list>`);
await element.loadData();
await waitEventLoop();
});
test('renders', () => {
assert.shadowDom.equal(
element,
/* HTML */ `
<div class="gr-form-styles">
<table id="agreements">
<thead>
<tr>
<th class="nameColumn">Name</th>
<th class="descriptionColumn">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="nameColumn">
<a href="/some url" rel="external"> Agreements 1 </a>
</td>
<td class="descriptionColumn">Agreements 1 description</td>
</tr>
</tbody>
</table>
<a href="/settings/new-agreement"> New Contributor Agreement </a>
</div>
`
);
});
});