public async Task <IActionResult> CreateShooter(ShooterCreateRequest request) { //Creazione modello richiesto da admin var model = new Shooter { FirstName = request.FirstName, LastName = request.LastName, BirthDate = request.BirthDate, Email = request.Email, Username = request.Username, FirearmsLicence = request.FirearmsLicence, FirearmsLicenceExpireDate = request.FirearmsLicenceExpireDate, FirearmsLicenceReleaseDate = request.FirearmsLicenceReleaseDate, MedicalExaminationExpireDate = request.MedicalExaminationExpireDate, BirthLocation = request.BirthLocation, Address = request.Address, City = request.City, PostalCode = request.PostalCode, Province = request.Province, Country = request.Country, Phone = request.Phone, FiscalCode = request.FiscalCode }; //Invocazione del service layer var validations = await BasicLayer.CreateShooter(model, PlatformUtils.GetIdentityUserId(User)); if (validations.Count > 0) { return(BadRequest(validations)); } //Return contract return(Ok(ContractUtils.GenerateContract(model))); }
public async Task ShouldCreateShooterBeOkAndNotCreatePermissions() { //Conteggio gli elementi prima della creazione var countBefore = Scenario.Permissions.Count; //Composizione della request var request = new ShooterCreateRequest { Email = RandomizationUtils.GenerateRandomEmail(), LastName = RandomizationUtils.GenerateRandomString(10), FirstName = RandomizationUtils.GenerateRandomString(10), BirthDate = DateTime.Now, Username = RandomizationUtils.GenerateRandomString(10) }; //Invoke del metodo var response = await Controller.CreateShooter(request); //Conteggio gli elementi dopo la creazione var countAfter = Scenario.Permissions.Count; //Parsing della risposta e assert var parsed = ParseExpectedOk <ShooterContract>(response); Assert.IsTrue(parsed != null); Assert.AreEqual(countBefore, countAfter); }
public async Task ShouldCreateShooterBeBadRequestWithoutPermission() { UpdateIdentityUser(GetUserWithoutPermission(new List <Permissions> { Permissions.ManageShooters, Permissions.CreateShooters })); //Conteggio gli elementi prima della creazione var countBefore = Scenario.Shooters.Count; var countBeforePermission = Scenario.Permissions.Count; //Composizione della request var request = new ShooterCreateRequest { Email = RandomizationUtils.GenerateRandomEmail(), LastName = RandomizationUtils.GenerateRandomString(10), FirstName = RandomizationUtils.GenerateRandomString(10), BirthDate = DateTime.Now, Username = RandomizationUtils.GenerateRandomString(10) }; //Invoke del metodo var response = await Controller.CreateShooter(request); //Conteggio gli elementi dopo la creazione var countAfter = Scenario.Shooters.Count; var countAfterPermission = Scenario.Permissions.Count; //Parsing della risposta e assert var parsed = ParseExpectedBadRequest(response); Assert.IsTrue(parsed != null); Assert.AreEqual(countBefore, countAfter); // because is made by an admin the permissions should be the same Assert.AreEqual(countBeforePermission, countAfterPermission); }
public async Task ShouldCreateShooterBeOkHavingProvidedData() { //Conteggio gli elementi prima della creazione var countBefore = Scenario.Shooters.Count; //Composizione della request var request = new ShooterCreateRequest { Email = RandomizationUtils.GenerateRandomEmail(), LastName = RandomizationUtils.GenerateRandomString(10), FirstName = RandomizationUtils.GenerateRandomString(10), BirthDate = DateTime.Now, Username = RandomizationUtils.GenerateRandomString(10), FirearmsLicence = RandomizationUtils.GenerateRandomString(10), FirearmsLicenceExpireDate = DateTime.Now }; //Invoke del metodo var response = await Controller.CreateShooter(request); //Conteggio gli elementi dopo la creazione var countAfter = Scenario.Shooters.Count; //Parsing della risposta e assert var parsed = ParseExpectedOk <ShooterContract>(response); Assert.IsTrue(parsed != null && countAfter == countBefore + 1 && parsed.Data.Email == request.Email && parsed.Data.LastName == request.LastName && parsed.Data.FirstName == request.FirstName && parsed.Data.BirthDate == request.BirthDate && parsed.Data.Username == request.Username && parsed.Data.FirearmsLicence == request.FirearmsLicence && parsed.Data.FirearmsLicenceExpireDate == request.FirearmsLicenceExpireDate ); }