blob: cb4afa32bd28a0e64aa05bd0fa6baa8330cc3648 [file] [log] [blame]
/**
* Mock implementation of the budget service.
*/
"use strict";
const TEST_BUDGET_COST = 1.2;
const TEST_BUDGET_AT = 2.3;
const TEST_BUDGET_TIME = new Date().getTime();
let budgetServiceMock = loadMojoModules(
'budgetServiceMock',
['third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom',
'mojo/public/js/router'
]).then(mojo => {
const [budgetService, router] = mojo.modules;
class BudgetServiceMock {
constructor(interfaceProvider) {
interfaceProvider.addInterfaceOverrideForTesting(
budgetService.BudgetService.name,
handle => this.connectBudgetService_(handle));
this.interfaceProvider_ = interfaceProvider;
}
connectBudgetService_(handle) {
this.budgetServiceStub_ = new budgetService.BudgetService.stubClass(this);
this.budgetServiceRouter_ = new router.Router(handle);
this.budgetServiceRouter_.setIncomingReceiver(this.budgetServiceStub_);
}
getCost(operationType) {
return Promise.resolve({ cost:TEST_BUDGET_COST });
}
getBudget() {
return Promise.resolve({ budget: [ { time:TEST_BUDGET_TIME, budget_at:TEST_BUDGET_AT } ] });
}
}
return new BudgetServiceMock(mojo.interfaces);
});