refactor(MockRobot): Smurf for consistency

This commit is contained in:
Sören Beye 2025-09-06 15:28:40 +02:00
parent 7d1aea37f7
commit 5d405842d2
37 changed files with 60 additions and 60 deletions

View File

@ -9,7 +9,7 @@ const ValetudoRobot = require("../../core/ValetudoRobot");
const { MapLayer, PointMapEntity, ValetudoMap } = require("../../entities/map");
const stateAttrs = entities.state.attributes;
class MockRobot extends ValetudoRobot {
class MockValetudoRobot extends ValetudoRobot {
/**
*
* @param {object} options
@ -71,7 +71,7 @@ class MockRobot extends ValetudoRobot {
}
getModelName() {
return "MockRobot";
return "MockValetudoRobot";
}
getModelDetails() {
@ -94,7 +94,7 @@ class MockRobot extends ValetudoRobot {
getProperties() {
const superProps = super.getProperties();
const ourProps = {
[MockRobot.WELL_KNOWN_PROPERTIES.FIRMWARE_VERSION]: Tools.GET_VALETUDO_VERSION()
[MockValetudoRobot.WELL_KNOWN_PROPERTIES.FIRMWARE_VERSION]: Tools.GET_VALETUDO_VERSION()
};
return Object.assign(
@ -210,4 +210,4 @@ class MockRobot extends ValetudoRobot {
}
}
module.exports = MockRobot;
module.exports = MockValetudoRobot;

View File

@ -1,12 +1,12 @@
const AutoEmptyDockAutoEmptyIntervalControlCapability = require("../../../core/capabilities/AutoEmptyDockAutoEmptyIntervalControlCapability");
/**
* @extends AutoEmptyDockAutoEmptyIntervalControlCapability<import("../MockRobot")>
* @extends AutoEmptyDockAutoEmptyIntervalControlCapability<import("../MockValetudoRobot")>
*/
class MockAutoEmptyDockAutoEmptyIntervalControlCapability extends AutoEmptyDockAutoEmptyIntervalControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -2,7 +2,7 @@ const AutoEmptyDockManualTriggerCapability = require("../../../core/capabilities
const Logger = require("../../../Logger");
/**
* @extends AutoEmptyDockManualTriggerCapability<import("../MockRobot")>
* @extends AutoEmptyDockManualTriggerCapability<import("../MockValetudoRobot")>
*/
class MockAutoEmptyDockManualTriggerCapability extends AutoEmptyDockManualTriggerCapability {
/**

View File

@ -3,12 +3,12 @@ const entities = require("../../../entities");
const stateAttrs = entities.state.attributes;
/**
* @extends BasicControlCapability<import("../MockRobot")>
* @extends BasicControlCapability<import("../MockValetudoRobot")>
*/
class MockBasicControlCapability extends BasicControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -1,12 +1,12 @@
const CarpetModeControlCapability = require("../../../core/capabilities/CarpetModeControlCapability");
/**
* @extends CarpetModeControlCapability<import("../MockRobot")>
* @extends CarpetModeControlCapability<import("../MockValetudoRobot")>
*/
class MockCarpetModeControlCapability extends CarpetModeControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -1,13 +1,13 @@
const CarpetSensorModeControlCapability = require("../../../core/capabilities/CarpetSensorModeControlCapability");
/**
* @extends CarpetSensorModeControlCapability<import("../MockRobot")>
* @extends CarpetSensorModeControlCapability<import("../MockValetudoRobot")>
*/
class MockCarpetSensorModeControlCapability extends CarpetSensorModeControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -1,12 +1,12 @@
const CollisionAvoidantNavigationControlCapability = require("../../../core/capabilities/CollisionAvoidantNavigationControlCapability");
/**
* @extends CollisionAvoidantNavigationControlCapability<import("../MockRobot")>
* @extends CollisionAvoidantNavigationControlCapability<import("../MockValetudoRobot")>
*/
class MockCollisionAvoidantNavigationControlCapability extends CollisionAvoidantNavigationControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -32,12 +32,12 @@ const MOCKED_CONSUMABLES = Object.freeze([
]);
/**
* @extends ConsumableMonitoringCapability<import("../MockRobot")>
* @extends ConsumableMonitoringCapability<import("../MockValetudoRobot")>
*/
class MockConsumableMonitoringCapability extends ConsumableMonitoringCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -2,12 +2,12 @@ const CurrentStatisticsCapability = require("../../../core/capabilities/CurrentS
const ValetudoDataPoint = require("../../../entities/core/ValetudoDataPoint");
/**
* @extends CurrentStatisticsCapability<import("../MockRobot")>
* @extends CurrentStatisticsCapability<import("../MockValetudoRobot")>
*/
class MockCurrentStatisticsCapability extends CurrentStatisticsCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -2,12 +2,12 @@ const DoNotDisturbCapability = require("../../../core/capabilities/DoNotDisturbC
const ValetudoDNDConfiguration = require("../../../entities/core/ValetudoDNDConfiguration");
/**
* @extends DoNotDisturbCapability<import("../MockRobot")>
* @extends DoNotDisturbCapability<import("../MockValetudoRobot")>
*/
class MockDoNotDisturbCapability extends DoNotDisturbCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -4,12 +4,12 @@ const ValetudoSelectionPreset = require("../../../entities/core/ValetudoSelectio
const stateAttrs = entities.state.attributes;
/**
* @extends FanSpeedControlCapability<import("../MockRobot")>
* @extends FanSpeedControlCapability<import("../MockValetudoRobot")>
*/
class MockFanSpeedControlCapability extends FanSpeedControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
let presets = [

View File

@ -3,7 +3,7 @@ const PathMapEntity = require("../../../entities/map/PathMapEntity");
const PointMapEntity = require("../../../entities/map/PointMapEntity");
/**
* @extends GoToLocationCapability<import("../MockRobot")>
* @extends GoToLocationCapability<import("../MockValetudoRobot")>
*/
class MockGoToLocationCapability extends GoToLocationCapability {
/**

View File

@ -1,12 +1,12 @@
const KeyLockCapability = require("../../../core/capabilities/KeyLockCapability");
/**
* @extends KeyLockCapability<import("../MockRobot")>
* @extends KeyLockCapability<import("../MockValetudoRobot")>
*/
class MockKeyLockCapability extends KeyLockCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -2,7 +2,7 @@ const LocateCapability = require("../../../core/capabilities/LocateCapability");
const Logger = require("../../../Logger");
/**
* @extends LocateCapability<import("../MockRobot")>
* @extends LocateCapability<import("../MockValetudoRobot")>
*/
class MockLocateCapability extends LocateCapability {
/**

View File

@ -2,12 +2,12 @@ const ManualControlCapability = require("../../../core/capabilities/ManualContro
const PointMapEntity = require("../../../entities/map/PointMapEntity");
/**
* @extends ManualControlCapability<import("../MockRobot")>
* @extends ManualControlCapability<import("../MockValetudoRobot")>
*/
class MockManualControlCapability extends ManualControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
* @class
*/
constructor(options) {

View File

@ -1,7 +1,7 @@
const MapResetCapability = require("../../../core/capabilities/MapResetCapability");
/**
* @extends MapResetCapability<import("../MockRobot")>
* @extends MapResetCapability<import("../MockValetudoRobot")>
*/
class MockMapResetCapability extends MapResetCapability {
/**

View File

@ -2,7 +2,7 @@ const MapSegmentationCapability = require("../../../core/capabilities/MapSegment
const ValetudoMapSegment = require("../../../entities/core/ValetudoMapSegment");
/**
* @extends MapSegmentationCapability<import("../MockRobot")>
* @extends MapSegmentationCapability<import("../MockValetudoRobot")>
*/
class MockMapSegmentationCapability extends MapSegmentationCapability {
/**

View File

@ -1,7 +1,7 @@
const MappingPassCapability = require("../../../core/capabilities/MappingPassCapability");
/**
* @extends MappingPassCapability<import("../MockRobot")>
* @extends MappingPassCapability<import("../MockValetudoRobot")>
*/
class MockMappingPassCapability extends MappingPassCapability {
/**

View File

@ -2,7 +2,7 @@ const entities = require("../../../entities");
const MopDockCleanManualTriggerCapability = require("../../../core/capabilities/MopDockCleanManualTriggerCapability");
/**
* @extends MopDockCleanManualTriggerCapability<import("../MockRobot")>
* @extends MopDockCleanManualTriggerCapability<import("../MockValetudoRobot")>
*/
class MockMopDockCleanManualTriggerCapability extends MopDockCleanManualTriggerCapability {
/**

View File

@ -2,7 +2,7 @@ const entities = require("../../../entities");
const MopDockDryManualTriggerCapability = require("../../../core/capabilities/MopDockDryManualTriggerCapability");
/**
* @extends MopDockDryManualTriggerCapability<import("../MockRobot")>
* @extends MopDockDryManualTriggerCapability<import("../MockValetudoRobot")>
*/
class MockMopDockDryManualTriggerCapability extends MopDockDryManualTriggerCapability {
/**

View File

@ -1,12 +1,12 @@
const ObstacleAvoidanceControlCapability = require("../../../core/capabilities/ObstacleAvoidanceControlCapability");
/**
* @extends ObstacleAvoidanceControlCapability<import("../MockRobot")>
* @extends ObstacleAvoidanceControlCapability<import("../MockValetudoRobot")>
*/
class MockObstacleAvoidanceControlCapability extends ObstacleAvoidanceControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -4,12 +4,12 @@ const ValetudoSelectionPreset = require("../../../entities/core/ValetudoSelectio
const stateAttrs = entities.state.attributes;
/**
* @extends OperationModeControlCapability<import("../MockRobot")>
* @extends OperationModeControlCapability<import("../MockValetudoRobot")>
*/
class MockOperationModeControlCapability extends OperationModeControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
let presets = [

View File

@ -1,7 +1,7 @@
const PendingMapChangeHandlingCapability = require("../../../core/capabilities/PendingMapChangeHandlingCapability");
/**
* @extends PendingMapChangeHandlingCapability<import("../MockRobot")>
* @extends PendingMapChangeHandlingCapability<import("../MockValetudoRobot")>
*/
class MockPendingMapChangeHandlingCapability extends PendingMapChangeHandlingCapability {
/**

View File

@ -1,12 +1,12 @@
const PersistentMapControlCapability = require("../../../core/capabilities/PersistentMapControlCapability");
/**
* @extends PersistentMapControlCapability<import("../MockRobot")>
* @extends PersistentMapControlCapability<import("../MockValetudoRobot")>
*/
class MockPersistentMapControlCapability extends PersistentMapControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -1,12 +1,12 @@
const PetObstacleAvoidanceControlCapability = require("../../../core/capabilities/PetObstacleAvoidanceControlCapability");
/**
* @extends PetObstacleAvoidanceControlCapability<import("../MockRobot")>
* @extends PetObstacleAvoidanceControlCapability<import("../MockValetudoRobot")>
*/
class MockPetObstacleAvoidanceControlCapability extends PetObstacleAvoidanceControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -2,7 +2,7 @@ const Logger = require("../../../Logger");
const SpeakerTestCapability = require("../../../core/capabilities/SpeakerTestCapability");
/**
* @extends SpeakerTestCapability<import("../MockRobot")>
* @extends SpeakerTestCapability<import("../MockValetudoRobot")>
*/
class MockSpeakerTestCapability extends SpeakerTestCapability {
/**

View File

@ -1,12 +1,12 @@
const SpeakerVolumeControlCapability = require("../../../core/capabilities/SpeakerVolumeControlCapability");
/**
* @extends SpeakerVolumeControlCapability<import("../MockRobot")>
* @extends SpeakerVolumeControlCapability<import("../MockValetudoRobot")>
*/
class MockSpeakerVolumeControlCapability extends SpeakerVolumeControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -3,7 +3,7 @@ const TotalStatisticsCapability = require("../../../core/capabilities/TotalStati
const ValetudoDataPoint = require("../../../entities/core/ValetudoDataPoint");
/**
* @extends TotalStatisticsCapability<import("../MockRobot")>
* @extends TotalStatisticsCapability<import("../MockValetudoRobot")>
*/
class MockTotalStatisticsCapability extends TotalStatisticsCapability {
constructor(options) {

View File

@ -2,12 +2,12 @@ const ValetudoVoicePackOperationStatus = require("../../../entities/core/Valetud
const VoicePackManagementCapability = require("../../../core/capabilities/VoicePackManagementCapability");
/**
* @extends VoicePackManagementCapability<import("../MockRobot")>
* @extends VoicePackManagementCapability<import("../MockValetudoRobot")>
*/
class MockVoicePackManagementCapability extends VoicePackManagementCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(options);

View File

@ -4,12 +4,12 @@ const WaterUsageControlCapability = require("../../../core/capabilities/WaterUsa
const stateAttrs = entities.state.attributes;
/**
* @extends WaterUsageControlCapability<import("../MockRobot")>
* @extends WaterUsageControlCapability<import("../MockValetudoRobot")>
*/
class MockWaterUsageControlCapability extends WaterUsageControlCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
let presets = [

View File

@ -2,12 +2,12 @@ const ValetudoWifiStatus = require("../../../entities/core/ValetudoWifiStatus");
const WifiConfigurationCapability = require("../../../core/capabilities/WifiConfigurationCapability");
/**
* @extends WifiConfigurationCapability<import("../MockRobot")>
* @extends WifiConfigurationCapability<import("../MockValetudoRobot")>
*/
class MockWifiConfigurationCapability extends WifiConfigurationCapability {
/**
* @param {object} options
* @param {import("../MockRobot")} options.robot
* @param {import("../MockValetudoRobot")} options.robot
*/
constructor(options) {
super(Object.assign({}, options, {networkInterface: "wlan0"}));

View File

@ -6,7 +6,7 @@ function getRandomRSSI() {
}
/**
* @extends WifiScanCapability<import("../MockRobot")>
* @extends WifiScanCapability<import("../MockValetudoRobot")>
*/
class MockWifiScanCapability extends WifiScanCapability {
async scan() {

View File

@ -1,7 +1,7 @@
const ZoneCleaningCapability = require("../../../core/capabilities/ZoneCleaningCapability");
/**
* @extends ZoneCleaningCapability<import("../MockRobot")>
* @extends ZoneCleaningCapability<import("../MockValetudoRobot")>
*/
class MockZoneCleaningCapability extends ZoneCleaningCapability {
async start(options) {

View File

@ -1,3 +1,3 @@
module.exports = {
"MockRobot": require("./MockRobot")
"MockValetudoRobot": require("./MockValetudoRobot")
};

View File

@ -56,7 +56,7 @@ Setting embedded to `false` disables all functionality that assumes that Valetud
For a list of possible values for `implementation` consult the robot implementations in
[https://github.com/Hypfer/Valetudo/tree/master/backend/lib/robots](https://github.com/Hypfer/Valetudo/tree/master/backend/lib/robots).
Valetudo is also capable of running without a real robot. The `MockRobot` implementation provides a virtual robot
Valetudo is also capable of running without a real robot. The `MockValetudoRobot` implementation provides a virtual robot
that has a few basic capabilities. It requires no further implementation specific configuration.
The config key `robot` specifies the ValetudoRobot implementation Valetudo should use as well as some implementation-specific configuration parameters.

View File

@ -7,6 +7,6 @@ This is the new Valetudo Frontend written in React
As it's much easier to work with a real Valetudo instead of a mock server, this project uses `cra-build-watch` to allow
us to do just that. See also: https://github.com/facebook/create-react-app/issues/1070
To work on this, it is recommended to spin up a local Valetudo instance (e.g. by using the MockRobot implementation)
To work on this, it is recommended to spin up a local Valetudo instance (e.g. by using the MockValetudoRobot implementation)
and then running `npm run watch` in this folder.
That will start webpack watch. When it's done doing the initial build, you can reach the frontend in your browser.

View File

@ -1,5 +1,5 @@
/* eslint-disable */
const MockRobot = require("../backend/lib/robots/mock/MockRobot");
const MockValetudoRobot = require("../backend/lib/robots/mock/MockValetudoRobot");
const RobotMqttHandle = require("../backend/lib/mqtt/handles/RobotMqttHandle");
const MqttController = require("../backend/lib/mqtt/MqttController");
const CapabilityMqttHandle = require("../backend/lib/mqtt/capabilities/CapabilityMqttHandle");
@ -136,7 +136,7 @@ ConsumableMonitoringCapabilityMqttHandle.prototype.genConsumableFriendlyName = (
class FakeMqttController extends MqttController {
// @ts-ignore
constructor() {
const robot = new MockRobot({config: fakeConfig, valetudoEventStore: eventStore});
const robot = new MockValetudoRobot({config: fakeConfig, valetudoEventStore: eventStore});
robot.capabilities[ConsumableMonitoringCapability.TYPE].getProperties = () => {
return {