public async Task <ActionResult> CreateBloodDonor([FromBody] BloodDonorModel bloodDonor) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var instance = BloodDonor.Create(bloodDonor.Type, bloodDonor.PatientId); try { var newBloodDonor = await _repository.AddAsync(instance); if (newBloodDonor == null) { return(BadRequest(new ApiResponse { Status = false })); } return(CreatedAtRoute("GetBloodDonorRoute", new { id = newBloodDonor.BloodDonorId }, new ApiResponse { Status = true, BloodDonor = newBloodDonor })); } catch { return(BadRequest(new ApiResponse { Status = false })); } }
public void Given_BloodDonorRepository_When_AddingAnBloodDonor_Then_TheBloodDonorShouldBeProperlySaved() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var bloodDonor = BloodDonor.Create("AB4", null); //Act await repository.AddAsync(bloodDonor); //Assert Assert.AreEqual(repository.GetAllAsync().Result.Count, 1); }); }
public void Given_BloodDonorRepository_When_ReturningAllBloodDonors_Then_AllBloodDonorsShouldBeProperlyReturned() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var bloodDonor = BloodDonor.Create("AB4", null); await repository.AddAsync(bloodDonor); //Act var count = repository.GetAllAsync().Result.Count; //Assert Assert.AreEqual(count, 1); }); }
public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var bloodDonor = BloodDonor.Create("AB4", null); await repository.AddAsync(bloodDonor); //Act var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId); //Assert Assert.AreEqual(bloodDonor, extractedBloodDonor); }); }
public void Given_PatientRepository_When_AddAsyncingAPatient_Then_ThePatientShouldBeProperlySaved() { RunOnDatabase(async ctx => { //Arrange var repository = new PatientRepository(ctx); BloodDonor bloodDonor = BloodDonor.Create("A2", null); Patient patient = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor); //Act await repository.AddAsync(patient); //Assert Assert.AreEqual(repository.GetAllAsync().Result.Count, 1); }); }
public void Given_PatientRepository_When_ReturningAPatient_Then_ThePatientShouldBeProperlyReturned() { RunOnDatabase(async ctx => { //Arrange var repository = new PatientRepository(ctx); BloodDonor bloodDonor = BloodDonor.Create("A2", null); var patient = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor); await repository.AddAsync(patient); //Act var extractedPatient = await repository.GetByIdAsync(patient.PatientId); //Assert Assert.AreEqual(patient, extractedPatient); }); }
public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var patient = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null); var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime()); await repository.AddAsync(bloodDonor); //Act var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId); //Assert Assert.AreEqual(bloodDonor, extractedBloodDonor); }); }
public void Given_BloodDonorRepository_When_AddingAnBloodDonor_Then_TheBloodDonorShouldBeProperlySaved() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var patient = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null); var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime()); //Act await repository.AddAsync(bloodDonor); //Assert string[] includes = { }; Assert.AreEqual(repository.GetAllAsync(includes).Result.Count, 1); }); }
public void Given_BloodDonorRepository_When_EditingAnBloodDonor_Then_TheBloodDonorShouldBeProperlyEdited() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var bloodDonor = BloodDonor.Create("AB4", null); await repository.AddAsync(bloodDonor); var currentType = bloodDonor.Type; bloodDonor.Update("A4", null); var newCurrentType = bloodDonor.Type; //Act await repository.UpdateAsync(bloodDonor); //Assert Assert.AreNotEqual(currentType, newCurrentType); }); }
public void Given_PatientRepository_When_ReturningAllPatients_Then_AllPatientsShouldBeProperlyReturned() { RunOnDatabase(async ctx => { //Arrange var repository = new PatientRepository(ctx); var patient = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null); BloodDonor bloodDonor = BloodDonor.Create("A2", patient.PatientId, new DateTime()); await repository.AddAsync(patient); //Act string[] includes = { }; var count = repository.GetAllAsync(includes).Result.Count; //Assert Assert.AreEqual(count, 1); }); }
public void Given_BloodDonorRepository_When_EditingAnBloodDonor_Then_TheBloodDonorShouldBeProperlyEdited() { RunOnDatabase(async ctx => { //Arrange var repository = new BloodDonorRepository(ctx); var patient = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null); var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime()); await repository.AddAsync(bloodDonor); var currentType = bloodDonor.Type; bloodDonor.Update("A4", patient.PatientId, new DateTime(), false, false, null); var newCurrentType = bloodDonor.Type; //Act await repository.UpdateAsync(bloodDonor); //Assert Assert.AreNotEqual(currentType, newCurrentType); }); }
public void Given_PatientRepository_When_EditingAPatient_Then_ThePatientShouldBeProperlyEdited() { RunOnDatabase(async ctx => { //Arrange var repository = new PatientRepository(ctx); BloodDonor bloodDonor = BloodDonor.Create("A2", null); var patient = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor); var firstName = patient.FirstName; await repository.AddAsync(patient); patient.Update("Daniel", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor, null, null, null); var newFirstName = patient.FirstName; //Act await repository.UpdateAsync(patient); //Assert Assert.AreNotEqual(firstName, newFirstName); }); }
public async Task <ActionResult> CreateBloodDonor([FromBody] BloodDonorModel bloodDonor, [FromHeader(Name = "Authorization")] string value) { var token = new JwtSecurityTokenHandler().ReadJwtToken(value); var issuer = token.Claims.First(claim => claim.Type == "iss").Value; var audience = token.Claims.First(claim => claim.Type == "aud").Value; if (issuer != "MyIssuer" || audience != "MyAudience") { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var instance = BloodDonor.Create(bloodDonor.Type, bloodDonor.PatientId, bloodDonor.ApplyDate); try { var newBloodDonor = await _repository.AddAsync(instance); if (newBloodDonor == null) { return(BadRequest(new ApiResponse { Status = false })); } return(CreatedAtRoute("GetBloodDonorRoute", new { id = newBloodDonor.BloodDonorId }, new ApiResponse { Status = true, BloodDonor = newBloodDonor })); } catch { return(BadRequest(new ApiResponse { Status = false })); } }