public void UpdateMemberWithNewAddress() { MethodBase method = MethodBase.GetCurrentMethod(); DbContextOptions <GTLContext> options = new DbContextOptionsBuilder <GTLContext>() .UseInMemoryDatabase(method.Name).EnableSensitiveDataLogging(true) .Options; using (var context = new GTLContext(options)) { //setup IMemberController mController = ControllerFactory.CreateMemberController(context); InsertDummyData(context); var member = mController.Create(ssn, fName, lName, homeAddres, campusAddress, zip, homeAddressAdditionalInfo, mTypes); IAddressController aController = ControllerFactory.CreateAddressController(context); var newAddress = aController.Create("Blaviken street", "Be careful of the Dog", zip); //Action mController.Insert(member); //--update the member with new info, find it again make sure they are actually updated. var updatedMember = mController.FindByName(member.FName); updatedMember.HomeAddress = newAddress; mController.Update(updatedMember); member = mController.FindByName(member.FName); Assert.That(member, Is.EqualTo(updatedMember)); } }
public void AddMemberShipToMember() { MethodBase method = MethodBase.GetCurrentMethod(); DbContextOptions <GTLContext> options = new DbContextOptionsBuilder <GTLContext>() .UseInMemoryDatabase(method.Name).EnableSensitiveDataLogging(true) .Options; using (var context = new GTLContext(options)) { IMemberController mController = ControllerFactory.CreateMemberController(context); InsertDummyData(context); MemberType teachingAssistant = new MemberType() { TypeName = "Teaching Assistant" }; var member = mController.Create(ssn, fName, lName, homeAddres, campusAddress, zip, homeAddressAdditionalInfo, mTypes); mController.Insert(member); mTypes.Add(teachingAssistant); member.Memberships = mController.UpdateMembershipsOnMember(member, mTypes); mController.Update(member); Assert.That(member, Is.EqualTo(mController.FindByName(member.FName))); } }
public void UpdateMembertypeOnMember() { MethodBase method = MethodBase.GetCurrentMethod(); DbContextOptions <GTLContext> options = new DbContextOptionsBuilder <GTLContext>() .UseInMemoryDatabase(method.Name).EnableSensitiveDataLogging(true) .Options; MemberType student = new MemberType() { TypeName = "Student" }; MemberType staff = new MemberType() { TypeName = "Staff" }; List <MemberType> memberTypes = new List <MemberType>(); memberTypes.Add(student); using (var context = new GTLContext(options)) { //Basic environment. IMemberController mController = ControllerFactory.CreateMemberController(context); InsertDummyData(context); var member = mController.Create(ssn, fName, lName, homeAddres, campusAddress, zip, homeAddressAdditionalInfo, memberTypes); mController.Insert(member); memberTypes.Add(staff); //Actions mController.UpdateMembershipsOnMember(member, memberTypes); mController.Update(member); var updatedMember = mController.FindByName(member.FName); //Assertations! Assert.That(member, Is.EqualTo(updatedMember)); } }
public void FindByName() { MethodBase method = MethodBase.GetCurrentMethod(); DbContextOptions <GTLContext> options = new DbContextOptionsBuilder <GTLContext>() .UseInMemoryDatabase(method.Name).EnableSensitiveDataLogging(true) .Options; using (var context = new GTLContext(options)) { //as long as dbContext is needed for initializing controller. this can't easily be extracted - so it must be in each method. IMemberController mController = ControllerFactory.CreateMemberController(context); InsertDummyData(context); var member = mController.Create(ssn, fName, lName, homeAddres, campusAddress, zip, homeAddressAdditionalInfo, mTypes); string firstName = "Bodacious"; string lastName = "Booty"; member.FName = firstName; member.LName = lastName; //currently not inserting data for some reason. //action mController.Insert(member); //Assertation Assert.That(member, Has. Property("FName").EqualTo(firstName) .And.Property("LName").EqualTo(lastName)); var foundMember = mController.FindByName(member.FName); Assert.That(member, Is.EqualTo(foundMember)); }; }
public IActionResult GetMemberByName(string name) { var member = mController.FindByName(name); if (member == null) { return(new NotFoundResult()); } return(new JsonResult(member)); }
public void DeleteMemberFromDatabase() { MethodBase method = MethodBase.GetCurrentMethod(); DbContextOptions <GTLContext> options = new DbContextOptionsBuilder <GTLContext>() .UseInMemoryDatabase(method.Name).EnableSensitiveDataLogging(true) .Options; using (var context = new GTLContext(options)) { IMemberController mController = ControllerFactory.CreateMemberController(context); InsertDummyData(context); var member = mController.Create(ssn, fName, lName, homeAddres, campusAddress, zip, homeAddressAdditionalInfo, mTypes); mController.Insert(member); //remove the member again. This crurrently doesn't work due to a lack of cascacing action. mController.Delete(member); var foundMember = mController.FindByName(member.FName); //A null should have been returned as the member doesn't exist. Assert.IsNull(foundMember); } }