public void DeleteReservation_RemoveThrowsException_ErrorStatusCode() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Add(_reservation1)); mockRepository.Setup(mpr => mpr.Find(_reservation1.Id)).Returns(_reservation1); mockRepository.Setup(mpr => mpr.Remove(_reservation1.Id)).Throws(new Exception()); var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(mrc => mrc.GetDevices()).Returns(new Task <IEnumerable <Device> >(GetTestDevices)); var mockHttp = new MockHttpMessageHandler(); mockHttp.When($"{_httpLocalhost}/api/v1/device").Respond("application/json", JsonConvert.SerializeObject(new List <Device> { _device1 })); mockHttp.When($"{_httpLocalhost}/api/v1/device/{_device1.Id}") .Respond("application/json", JsonConvert.SerializeObject(_device1)); var restClient = new RestClient(_config.Object, new HttpClient(mockHttp), Logger); var controller = new ReservationsQueueController(mockRepository.Object, restClient, Logger, _externalProcesses); var result = controller.Delete(_reservation1.Id); // Assert deleted var viewResult = Assert.IsType <ObjectResult>(result); Assert.Equal(500, viewResult.StatusCode); }
public async void CreateReservation_device_with_id_notFound() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Add(_reservation1)); var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(mrc => mrc.GetDevices()).Returns(new Task <IEnumerable <Device> >(GetTestDevices)); var mockHttp = new MockHttpMessageHandler(); mockHttp.When($"{_httpLocalhost}/api/v1/device").Respond("application/json", JsonConvert.SerializeObject(new List <Device> { _device2 })); var restClient = new RestClient(_config.Object, new HttpClient(mockHttp), Logger); var controller = new ReservationsQueueController(mockRepository.Object, restClient, Logger, _externalProcesses); // Act var result = await controller.CreateAsync(_reservation1); // Assert var viewResult = Assert.IsType <BadRequestObjectResult>(result); Assert.Equal( $"Requested device(s) not found in the device pool: [\"{{\\\"DeviceId\\\":\\\"{_device1.Id}\\\",\\\"DeviceType\\\":\\\"{_device1.Type}\\\"}}\"]", viewResult.Value); }
public async void CreateReservation_null_requested_devices() { var reservation = _reservation1; reservation.RequestedDevices = null; // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Add(reservation)); var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(mrc => mrc.GetDevices()).Returns(new Task <IEnumerable <Device> >(GetTestDevices)); var mockHttp = new MockHttpMessageHandler(); mockHttp.When($"{_httpLocalhost}/api/v1/device").Respond("application/json", JsonConvert.SerializeObject(new List <Device> { _device1 })); var restClient = new RestClient(_config.Object, new HttpClient(mockHttp), Logger); var controller = new ReservationsQueueController(mockRepository.Object, restClient, Logger, _externalProcesses); // Act var result = await controller.CreateAsync(reservation); // Assert var viewResult = Assert.IsType <BadRequestObjectResult>(result); Assert.Equal("RequestedDevices property is empty.", viewResult.Value); }
public void GetReservation_empty_Input() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Find("")).Returns((Reservation)null); var controller = new ReservationsQueueController(mockRepository.Object, _restClient, Logger, _externalProcesses); // Act var result = controller.GetById(""); // Assert Assert.IsType <NotFoundObjectResult>(result); }
public void GetAllReservations_empty() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.GetAll()).Returns(new List <Reservation>()); var controller = new ReservationsQueueController(mockRepository.Object, _restClient, Logger, _externalProcesses); // Act var result = controller.GetAll(); // Assert Assert.IsType <List <Reservation> >(result); Assert.Empty(result); }
public async void CreateReservation_NullRequest_BadRequest() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Add(_reservation1)); var mockHttp = new MockHttpMessageHandler(); var restClient = new RestClient(_config.Object, new HttpClient(mockHttp), Logger); var controller = new ReservationsQueueController(mockRepository.Object, restClient, Logger, _externalProcesses); // Act var result = await controller.CreateAsync(null); // Assert Assert.IsType <BadRequestObjectResult>(result); }
public void GetReservation_reservation2() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Find(_reservation2.Id)).Returns(_reservation2); var controller = new ReservationsQueueController(mockRepository.Object, _restClient, Logger, _externalProcesses); // Act var result = controller.GetById(_reservation2.Id); // Assert var viewResult = Assert.IsType <JsonResult>(result); Assert.Equal(_reservation2, viewResult.Value); }
public void GetAllReservations() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.GetAll()).Returns(GetTestReservations()); var controller = new ReservationsQueueController(mockRepository.Object, _restClient, Logger, _externalProcesses); // Act var result = controller.GetAll(); // Assert var viewResult = Assert.IsType <List <Reservation> >(result); Assert.Equal(2, result.Count()); Assert.Contains(_reservation1, viewResult); Assert.Contains(_reservation2, viewResult); }
public async void DeleteReservation_id_notFound() { // Arrange var mockRepository = new Mock <IRepository <Reservation> >(); mockRepository.Setup(mpr => mpr.Add(_reservation1)); mockRepository.Setup(mpr => mpr.Find(_reservation1.Id)).Returns((Reservation)null); var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(mrc => mrc.GetDevices()).Returns(new Task <IEnumerable <Device> >(GetTestDevices)); var mockHttp = new MockHttpMessageHandler(); mockHttp.When($"{_httpLocalhost}/api/v1/device").Respond("application/json", JsonConvert.SerializeObject(new List <Device> { _device1 })); mockHttp.When($"{_httpLocalhost}/api/v1/device/{_device1.Id}") .Respond("application/json", JsonConvert.SerializeObject(_device1)); var restClient = new RestClient(_config.Object, new HttpClient(mockHttp), Logger); var controller = new ReservationsQueueController(mockRepository.Object, restClient, Logger, _externalProcesses); // Act var result = await controller.CreateAsync(_reservation1); // Assert created var viewResult = Assert.IsType <CreatedAtRouteResult>(result); Assert.Equal(_reservation1, viewResult.Value); var resultDelete = controller.Delete(_reservation1.Id); // Assert deleted var viewResultDelete = Assert.IsType <NotFoundObjectResult>(resultDelete); Assert.Equal("Reservation not found in the database.", viewResultDelete.Value); }