public async Task Get_given_id_that_does_not_exist_returns_404() { repository.Setup(r => r.GetPlacementDescriptionAsync(100)).ThrowsAsync(new ArgumentException()); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Get(100, true); var actionResult = Assert.IsType <ActionResult <PlacementDescriptionDetailsDTO> >(actual); var code = Assert.IsType <StatusCodeResult>(actionResult.Result); Assert.Equal(404, code.StatusCode); }
public async Task Get_returns_500_on_internal_error() { repository.Setup(r => r.GetPlacementDescriptionsAsync()).ThrowsAsync(new Exception()); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Get(true); var actionResult = Assert.IsType <ActionResult <IEnumerable <PlacementDescriptionDetailsDTO> > >(actual); var code = Assert.IsType <StatusCodeResult>(actionResult.Result); Assert.Equal(500, code.StatusCode); }
public async Task Delete_returns_500_on_internal_error() { repository.Setup(r => r.DeletePlacementDescriptionAsync(1)).ThrowsAsync(new Exception()); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Delete(1, true); var actionResult = Assert.IsType <ActionResult <bool> >(actual); var code = Assert.IsType <StatusCodeResult>(actionResult.Result); Assert.Equal(500, code.StatusCode); }
public async Task Delete_returns_404_on_not_found() { repository.Setup(r => r.DeletePlacementDescriptionAsync(10)).ThrowsAsync(new ArgumentException()); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Delete(10, true); var actionResult = Assert.IsType <ActionResult <bool> >(actual); var code = Assert.IsType <StatusCodeResult>(actionResult.Result); Assert.Equal(404, code.StatusCode); }
public async Task Delete_returns_200_and_true() { repository.Setup(r => r.DeletePlacementDescriptionAsync(1)).ReturnsAsync(true); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Delete(1, true); var actionResult = Assert.IsType <ActionResult <bool> >(actual); var okResult = Assert.IsType <OkObjectResult>(actionResult.Result); var hasBeenDeleted = Assert.IsType <bool>(okResult.Value); Assert.Equal(200, okResult.StatusCode); Assert.True(hasBeenDeleted); }
public async Task Update_returns_500_on_internal_error() { var description = new UpdatePlacementDescriptionDTO { Degree = Degree.Bachelor }; repository.Setup(r => r.UpdatePlacementDescriptionAsync(description)).ThrowsAsync(new Exception()); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Update(description, true); var actionResult = Assert.IsType <ActionResult <bool> >(actual); var code = Assert.IsType <StatusCodeResult>(actionResult.Result); Assert.Equal(500, code.StatusCode); }
public async Task Create_returns_200_and_id_of_created_student() { var nextMockedId = 10; var description = new CreatePlacementDescriptionDTO(); repository.Setup(r => r.CreatePlacementDescriptionAsync(description)).ReturnsAsync(nextMockedId); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Create(description, true); var actionResult = Assert.IsType <ActionResult <int> >(actual); var okResult = Assert.IsType <OkObjectResult>(actionResult.Result); var actualId = Assert.IsType <int>(okResult.Value); Assert.Equal(200, okResult.StatusCode); Assert.Equal(nextMockedId, actualId); }
public async Task Update_returns_200_and_true() { var description = new UpdatePlacementDescriptionDTO { Degree = Degree.Bachelor }; repository.Setup(r => r.UpdatePlacementDescriptionAsync(description)).ReturnsAsync(true); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Update(description, true); var actionResult = Assert.IsType <ActionResult <bool> >(actual); var okResult = Assert.IsType <OkObjectResult>(actionResult.Result); var hasBeenUpdated = Assert.IsType <bool>(okResult.Value); Assert.Equal(200, okResult.StatusCode); Assert.True(hasBeenUpdated); }
public async Task Get_given_id_returns_200_and_student() { var description = new PlacementDescriptionDetailsDTO { Id = 1, KeywordNames = new [] { "UML" }, Degree = Degree.Bachelor, MinSalary = 100, MinWorkingHours = 5, MaxWorkingHours = 20, Agreement = false, Location = "Nowhere" }; repository.Setup(r => r.GetPlacementDescriptionAsync(description.Id)).ReturnsAsync(description); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Get(1, true); var actionResult = Assert.IsType <ActionResult <PlacementDescriptionDetailsDTO> >(actual); var okResult = Assert.IsType <OkObjectResult>(actionResult.Result); var actualDescription = Assert.IsType <PlacementDescriptionDetailsDTO>(okResult.Value); Assert.Equal(200, okResult.StatusCode); Assert.Equal(description, actualDescription); }
public async Task Get_returns_200_and_students() { var descriptions = new [] { new PlacementDescriptionDetailsDTO { Id = 1 }, new PlacementDescriptionDetailsDTO { Id = 2 } }; repository.Setup(r => r.GetPlacementDescriptionsAsync()).ReturnsAsync(descriptions); var controller = new PlacementDescriptionRepositoryController(repository.Object); var actual = await controller.Get(true); var actionResult = Assert.IsType <ActionResult <IEnumerable <PlacementDescriptionDetailsDTO> > >(actual); var okResult = Assert.IsType <OkObjectResult>(actionResult.Result); var actualDescriptions = Assert.IsType <List <PlacementDescriptionDetailsDTO> >(okResult.Value); Assert.Equal(200, okResult.StatusCode); Assert.Equal(descriptions.Length, actualDescriptions.Count()); }