public async Task AddGymApplication() { GymApplicationsRequest request = new GymApplicationsRequest { Name = "Longji", Surname = "Kang", Email = "*****@*****.**", PhoneNumber = "0629058357", GymName = "Test", BranchName = "Gym", Address = "An address", Extra = "None" }; var response = await gymApplicationController.addApplication(request); Assert.IsType <OkObjectResult>(response.Result); bool removed = await applicationRepository.removeApplication((await applicationRepository.getApplication("Test", "Gym"))[0]); Assert.True(removed); }
public async Task <ActionResult <GymApplications> > addApplication(GymApplicationsRequest application) { if (application.GymName == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Gym name cannot be empty!")); } if (application.BranchName == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Branch name cannot be empty!")); } if (application.Name == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Name cannot be empty!")); } if (application.Surname == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Surname cannot be empty!")); } if (application.Email == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Email cannot be empty!")); } if (application.PhoneNumber == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Phone number cannot be empty!")); } if (application.Address == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Gym address cannot be empty!")); } Gym gym = await gymRepository.getGymByNameAndBranch(application.GymName, application.BranchName); if (gym != null) { return(StatusCode(StatusCodes.Status400BadRequest, $"Gym with name {application.GymName} and branch {application.BranchName} is already taken!")); } if ((await applicationRepository.getApplication(application.GymName, application.BranchName)).Length != 0) { return(StatusCode(StatusCodes.Status400BadRequest, "An application for this gym is already in progress!")); } GymApplications existingApplication = new GymApplications(); existingApplication.Name = application.Name; existingApplication.Surname = application.Surname; existingApplication.Email = application.Email; existingApplication.PhoneNumber = application.PhoneNumber; existingApplication.GymName = application.GymName; existingApplication.BranchName = application.BranchName; existingApplication.Address = application.Address; existingApplication.Extra = application.Extra; existingApplication.Status = ApplicationStatus.Pending; if (await applicationRepository.addApplication(existingApplication)) { return(Ok(existingApplication)); } else { return(StatusCode(StatusCodes.Status500InternalServerError, "We were unable to add your application to the database!")); } }