public async Task Change_sensor_activation_and_response_ok_status_code(int dataSetIndex, bool isActive) { //Arrange var dataSet = new List <Sensor> { Defaults.ActivePortableSensor, Defaults.ActiveStaticSensor }; var currentSensor = dataSet[dataSetIndex]; using var server = await GetDefaultTestServerBuilder() .UseSensors(currentSensor) .UseDefaultAuth() .BuildAsync(); var client = server.CreateClient(); var changeActivationSensor = new ChangeActivationSensorModel() { Id = currentSensor.Id, IsActive = isActive }; var changeActivationSensorJsonStr = JsonConvert.SerializeObject(changeActivationSensor); //Act var response = await client.PostAsync("api/admin/sensors/changeActivation", new StringContent(changeActivationSensorJsonStr, Encoding.UTF8, "application/json")); //Assert response.EnsureSuccessStatusCode(); }
public async Task <ActionResult> ChangeActivation([Bind(Prefix = nameof(ChangeActivationSensorViewModel.Model))] [BindRequired] ChangeActivationSensorModel model) { if (!ModelState.IsValid) { return(await BuildChangeActivationResultAsync(model.Id, model)); } var command = _mapper.Map <ChangeActivationSensorModel, ChangeSensorActivationStateCommand>(model); await _mediator.Send(command); return(RedirectToAction("Index")); }
public async Task <ActionResult> ChangeActivation( ChangeActivationSensorModel model) { if (!ModelState.IsValid) { return(ValidationProblem()); } try { var command = _mapper.Map <ChangeActivationSensorModel, ChangeSensorActivationStateCommand>(model); await _mediator.Send(command); } catch (SensorNotFoundException ex) { return(NotFound(ex.Message)); } return(Ok()); }
public async Task Change_sensor_activation_and_response_not_found_status_code() { //Arrange using var server = new TestServerBuilder() .UseDefaultAuth() .Build(); var client = server.CreateClient(); var changeActivationSensor = new ChangeActivationSensorModel { Id = 1 }; var changeActivationSensorJsonStr = JsonConvert.SerializeObject(changeActivationSensor); //Act var response = await client.PostAsync("api/admin/sensors/changeActivation", new StringContent(changeActivationSensorJsonStr, Encoding.UTF8, "application/json")); //Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
private async Task <ActionResult> BuildChangeActivationResultAsync(int?sensorId, ChangeActivationSensorModel model = null) { if (!sensorId.HasValue) { return(this.StatusCodeView(HttpStatusCode.BadRequest, "Sensor id is required!")); } var sensor = await _readingsQueries.GetSensorByIdAsync(sensorId.Value); if (sensor == null) { return(this.StatusCodeView(HttpStatusCode.NotFound, $"Sensor with id: {sensorId} not found")); } var detailsVM = _mapper.Map <SensorDTO, SensorDetailsViewModel>(sensor); var vm = new ChangeActivationSensorViewModel(model ?? new ChangeActivationSensorModel { Id = sensor.Id, IsActive = sensor.IsActive }, detailsVM); return(View(vm)); }
public ChangeActivationSensorViewModel(ChangeActivationSensorModel model, SensorDetailsViewModel details) { Model = model; Details = details; }