blob: 53c90a67eae6eb69b4305e9fc120e3fa2e31bea0 [file] [log] [blame]
/**
* @license
* Copyright 2022 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import '../../test/common-test-setup';
import {EmailAddress} from '../../api/rest-api';
import {getAppContext} from '../../services/app-context';
import {stubRestApi} from '../../test/test-utils';
import {AccountsModel} from './accounts-model';
import {assert} from '@open-wc/testing';
suite('accounts-model tests', () => {
let model: AccountsModel;
setup(() => {
model = new AccountsModel(getAppContext().restApiService);
});
teardown(() => {
model.finalize();
});
test('invalid account makes only one request', () => {
const response = {...new Response(), status: 404};
const getAccountDetails = stubRestApi('getAccountDetails').callsFake(
(_, errFn) => {
if (errFn !== undefined) {
errFn(response);
}
return Promise.resolve(undefined);
}
);
model.fillDetails({email: 'Invalid_email@def.com' as EmailAddress});
assert.equal(getAccountDetails.callCount, 1);
model.fillDetails({email: 'Invalid_email@def.com' as EmailAddress});
assert.equal(getAccountDetails.callCount, 1);
});
});