public void PutDateOccupiedTest() { //Arrange. Exception toThrow = new TeamAlreadyHasEncounterException(); matchService.Setup(ms => ms.ModifyEncounter(It.IsAny <int>(), It.IsAny <ICollection <int> >(), It.IsAny <DateTime>(), It.IsAny <string>())).Throws(toThrow); MatchModelIn input = BuildMatchModelIn(testEncounter); //Act. IActionResult result = controller.Put(1, input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. matchService.Verify(ms => ms.ModifyEncounter(It.IsAny <int>(), It.IsAny <ICollection <int> >(), It.IsAny <DateTime>(), It.IsAny <string>()), Times.Once); matchService.Verify(ms => ms.AddEncounter(It.IsAny <int>(), It.IsAny <ICollection <int> >(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Never); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void PutUserNoDataAccessTest() { //Arrange. UpdateUserModelIn modelIn = new UpdateUserModelIn() { Name = "name1", Surname = "surname1", Password = "******", Email = "*****@*****.**" }; Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); service.Setup(us => us.ModifyUser(It.IsAny <UserDto>())).Throws(toThrow); //Act. IActionResult result = controller.Put("username", modelIn); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateSportAlreadyExistingTest() { //Arrange. Exception internalEx = new SportAlreadyExistsException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_ALREADY_EXISTS); sportsService.Setup(r => r.AddSport(It.IsAny <SportDto>())).Throws(toThrow); SportModelIn input = new SportModelIn() { Name = "Soccer" }; //Act. IActionResult result = controllerToTest.Post(input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. sportsService.Verify(r => r.AddSport(It.IsAny <SportDto>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateCommentByNoExistingUser() { //Arrange. ControllerContext fakeContext = GetFakeControllerContext(); controller.ControllerContext = fakeContext; CommentModelIn input = new CommentModelIn() { Text = "this is a comment" }; Exception internalEx = new UserNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); matchService.Setup(ms => ms.CommentOnEncounter(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controller.CommentOnMatch(3, input); NotFoundObjectResult badRequest = result as NotFoundObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. matchService.Verify(ms => ms.CommentOnEncounter(3, "username", input.Text), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(404, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void CreateHomeAwayFixtureWrongFixtureTest() { //Arrange. FixtureModelIn input = new FixtureModelIn() { InitialDate = DateTime.Today, RoundLength = 1, DaysBetweenRounds = 7, FixtureName = "ObligatorioDA2.BusinessLogic.FixtureAlgorithms.HomeAwayFixture" }; matchesRepo.Setup(m => m.GetAll()).Returns(homeAwayMatchCollection); ICollection <string> errorMessagges = TeamAlreadyHasMatchErrorMessagges(GetEncounterDtos(homeAwayMatchCollection)); //Act. IActionResult result = controller.CreateFixture(testSport.Name, input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsTrue(errorMessagges.Contains(error.ErrorMessage)); logger.Verify(l => l.Log(LogType.FIXTURE, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Once); }
private IActionResult AuthenticateWithValidModel(LoginModelIn user) { IActionResult result; try { UserDto logged = loginService.Login(user.Username, user.Password); string tokenString = GenerateJSONWebToken(logged); result = Ok(new { Token = tokenString }); } catch (WrongPasswordException e2) { ErrorModelOut error = new ErrorModelOut() { ErrorMessage = e2.Message }; result = BadRequest(error); } catch (ServiceException e) { result = GenerateResponse(e); } return(result); }
private IActionResult GenerateBadRequest(ServiceException e) { ErrorModelOut errorMessage = new ErrorModelOut() { ErrorMessage = e.Message }; return(sender.BadRequest(errorMessage)); }
private IActionResult GenerateResponse(ServiceException e) { IActionResult errorResult; ErrorModelOut error = new ErrorModelOut() { ErrorMessage = e.Message }; if (e.Error.Equals(ErrorType.ENTITY_NOT_FOUND)) { errorResult = BadRequest(error); } else { errorResult = StatusCode((int)HttpStatusCode.InternalServerError, error); } return(errorResult); }
public void GetNotExistentTest() { //Arrange. Exception internalEx = new SportNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); sportsService.Setup(s => s.GetSport(It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controllerToTest.Get("Golf"); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. sportsService.Verify(r => r.GetSport("Golf"), Times.Once); Assert.IsNotNull(notFound); Assert.AreEqual(notFound.StatusCode, 404); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateHomeAwayFixtureBadModelTest() { //Arrange. FixtureModelIn input = new FixtureModelIn() { }; controller.ModelState.AddModelError("", "Error"); //Act. IActionResult result = controller.CreateFixture(testSport.Name, input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); logger.Verify(l => l.Log(LogType.FIXTURE, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Once); }
public void CalculateTableNotExistingSportTest() { //Arrange. Exception internalEx = new SportNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); tableGenerator.Setup(tg => tg.GetScoreTable(It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controllerToTest.CalculateSportTable("Golf"); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. tableGenerator.VerifyAll(); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void DeleteNoDataAccessTest() { //Arrange. Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); sportsService.Setup(r => r.DeleteSport("Golf")).Throws(toThrow); //Act. IActionResult result = controllerToTest.Delete("Golf"); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void FollowTeamAlreadyFollowing() { //Arrange. Exception toThrow = new TeamAlreadyFollowedException(); service.Setup(us => us.FollowTeam(It.IsAny <string>(), It.IsAny <int>())).Throws(toThrow); //Act. IActionResult result = controller.FollowTeam(3); BadRequestObjectResult notFound = result as BadRequestObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. service.Verify(us => us.FollowTeam(It.IsAny <string>(), It.IsAny <int>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(400, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void GetFollowedTeamsNoDataAccessTest() { //Arrange. Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); service.Setup(us => us.GetUserTeams(It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controller.GetFollowedTeams("username"); ObjectResult notData = result as ObjectResult; ErrorModelOut error = notData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(notData); Assert.AreEqual(500, notData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateAlreadyExistingTeam() { //Arrange. Exception toThrow = new TeamAlreadyExistsException(); teamsService.Setup(tr => tr.AddTeam(It.IsAny <TeamDto>())).Throws(new ServiceException(toThrow.Message, ErrorType.ENTITY_ALREADY_EXISTS)); TeamModelIn input = CreateTeamModelIn(); //Act. IActionResult result = controller.Post(input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void ViewNotExistingCommentTest() { //Arrange. Exception internalEx = new CommentNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); matchService.Setup(ms => ms.GetComment(3)).Throws(toThrow); //Act. IActionResult result = controller.GetComment(3); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void DeleteNotExistentTest() { //Arrange. Exception internalEx = new EncounterNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); matchService.Setup(ms => ms.DeleteEncounter(3)).Throws(toThrow); //Act. IActionResult result = controller.Delete(3); NotFoundObjectResult badRequest = result as NotFoundObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.IsNotNull(error); Assert.AreEqual(404, badRequest.StatusCode); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void GetNotExistingMatchTest() { //Arrange. Exception internalEx = new EncounterNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); matchService.Setup(ms => ms.GetEncounter(It.IsAny <int>())).Throws(toThrow); //Act. IActionResult result = controller.Get(1); NotFoundObjectResult notFoundresult = result as NotFoundObjectResult; ErrorModelOut error = notFoundresult.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(notFoundresult); Assert.AreEqual(404, notFoundresult.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void CreateNoDataAccessTest() { //Arrange. Exception toThrow = new DataInaccessibleException(); teamsService.Setup(tr => tr.AddTeam(It.IsAny <TeamDto>())).Throws(new ServiceException(toThrow.Message, ErrorType.DATA_INACCESSIBLE)); TeamModelIn input = CreateTeamModelIn(); //Act. IActionResult result = controller.Post(input); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void DeleteByIdNotExistentTest() { //Arrange. Exception internalEx = new TeamNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); teamsService.Setup(r => r.DeleteTeam(It.IsAny <int>())).Throws(toThrow); //Act. IActionResult result = controller.Delete(2); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. teamsService.Verify(r => r.DeleteTeam(2), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void GetSportTeamsNotFoundTest() { //Arrange. Exception internalEx = new SportNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); teamsRepo.Setup(r => r.GetSportTeams(It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controllerToTest.GetTeams("Dummy"); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. teamsRepo.Verify(r => r.GetSportTeams(It.IsAny <string>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void GetTeamMatchesNotFoundTest() { //Arrange. Exception internalEx = new TeamNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); matchService.Setup(ms => ms.GetAllEncounterDtos(It.IsAny <int>())).Throws(toThrow); //Act. IActionResult result = controller.GetByTeam(5); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. matchService.Verify(ms => ms.GetAllEncounterDtos(It.IsAny <int>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateAlreadyExistentUserTest() { //Arrange. Exception internalEx = new UserAlreadyExistsException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_ALREADY_EXISTS); service.Setup(us => us.AddUser(It.IsAny <UserDto>())).Throws(toThrow); //Act. IActionResult result = controller.Post(input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. service.Verify(us => us.AddUser(It.IsAny <UserDto>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void CreateUserNoDataAccessTest() { //Arrange. Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); service.Setup(us => us.AddUser(It.IsAny <UserDto>())).Throws(toThrow); //Act. IActionResult result = controller.Post(input); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void CreateMatchSameDayForTeamTest() { //Arrange. Exception toThrow = new TeamAlreadyHasEncounterException(); matchService.Setup(ms => ms.AddEncounter(It.IsAny <int>(), It.IsAny <ICollection <int> >(), It.IsAny <string>(), It.IsAny <DateTime>())).Throws(toThrow); MatchModelIn input = BuildMatchModelIn(testEncounter); //Act. IActionResult result = controller.Post(input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void GetLogsNoDataAccessTest() { //Arrange. Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); Mock.Get(logger).Setup(l => l.GetAllLogs()).Throws(toThrow); //Act. IActionResult result = controller.GetAll(new DateTime(), new DateTime()); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Mock.Get(logger).Verify(s => s.GetAllLogs(), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void GetNotExistentTest() { //Arrange. Exception internalEx = new UserNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); service.Setup(us => us.GetUser(It.IsAny <string>())).Throws(toThrow); //Act. IActionResult result = controller.Get("username"); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. service.Verify(us => us.GetUser("username"), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void UnfollowNotFollowedTest() { //Arrange. TeamModelIn input = GetTeamModelIn(); Exception toThrow = new TeamNotFollowedException(); service.Setup(us => us.UnFollowTeam(It.IsAny <string>(), It.IsAny <int>())).Throws(toThrow); //Act. IActionResult result = controller.UnFollowTeam(3); NotFoundObjectResult notFound = result as NotFoundObjectResult; ErrorModelOut error = notFound.Value as ErrorModelOut; //Assert. service.Verify(us => us.UnFollowTeam(It.IsAny <string>(), It.IsAny <int>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(notFound); Assert.AreEqual(404, notFound.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(error.ErrorMessage, toThrow.Message); }
public void LoginWrongPasswordTest() { //arrange Exception toThrow = new WrongPasswordException(); loginService.Setup(l => l.Login("aUsername", "otherPassword")).Throws(toThrow); //act LoginModelIn credentials = new LoginModelIn() { Username = "******", Password = "******" }; IActionResult result = controllerToTest.Authenticate(credentials); BadRequestObjectResult badRequestResult = result as BadRequestObjectResult; ErrorModelOut error = badRequestResult.Value as ErrorModelOut; //assert loginService.VerifyAll(); Assert.IsNotNull(badRequestResult); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
public void LoginNotFoundTest() { //Arrange. Exception internalEx = new UserNotFoundException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_NOT_FOUND); loginService.Setup(l => l.Login("otherUsername", "aPassword")).Throws(toThrow); //Act. LoginModelIn credentials = new LoginModelIn() { Username = "******", Password = "******" }; IActionResult result = controllerToTest.Authenticate(credentials); BadRequestObjectResult badRequestResult = result as BadRequestObjectResult; ErrorModelOut error = badRequestResult.Value as ErrorModelOut; //Assert. loginService.VerifyAll(); Assert.IsNotNull(badRequestResult); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }