public static void Initialize(TestContext _) { var options = new DbContextOptionsBuilder <MailingApiContext>().UseInMemoryDatabase(databaseName: "BusinessLayerTests") .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)).Options; var context = new MailingApiContext(options); var owner = DataLayerTestHelper.CreateMailUser("name", "password"); var serviceProvider = new ServiceCollection().AddLogging().BuildServiceProvider(); var factory = serviceProvider.GetService <ILoggerFactory>(); _data = new DataLayer(context, factory); _buisness = new BusinessLayer(_data); _data.InsertUser(owner); var groups = new List <MailingGroup>() { DataLayerTestHelper.CreateMailingGroup("name1", owner.Id), DataLayerTestHelper.CreateMailingGroup("name2", owner.Id), DataLayerTestHelper.CreateMailingGroup("nameToDelete3", owner.Id), DataLayerTestHelper.CreateMailingGroup("nameToDelete4", owner.Id), }; foreach (var g in groups) { var consumers = new List <MailConsumer>() { DataLayerTestHelper.CreateMailConsumer("*****@*****.**", g.Id), }; _data.InsertGroup(g, consumers); } }
public static void Initialize(TestContext _) { var options = new DbContextOptionsBuilder <MailingApiContext>().UseInMemoryDatabase(databaseName: "DataLayerTests") .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)).Options; _context = new MailingApiContext(options); var serviceProvider = new ServiceCollection().AddLogging().BuildServiceProvider(); var factory = serviceProvider.GetService <ILoggerFactory>(); _data = new DataLayer(_context, factory); var owner = DataLayerTestHelper.CreateMailUser("name", "password"); _context.GroupOwners.Add(owner); _context.SaveChanges(); var groups = new List <MailingGroup>() { DataLayerTestHelper.CreateMailingGroup("name1", owner.Id), DataLayerTestHelper.CreateMailingGroup("name2", owner.Id), DataLayerTestHelper.CreateMailingGroup("nameToDelete3", owner.Id), DataLayerTestHelper.CreateMailingGroup("nameToDelete4", owner.Id), }; _context.Groups.AddRange(groups); _context.SaveChanges(); var consumerList = new List <MailConsumer>(); foreach (var g in groups) { consumerList.Add(DataLayerTestHelper.CreateMailConsumer($"name{g.Id}", g.Id)); } _context.Consumers.AddRange(consumerList); _context.SaveChanges(); }
public void UpdateGroupShouldNotUpdateGroup(int groupId) { var expectedGroup = DataLayerTestHelper.CreateMailingGroup("updatedName", 1); var expectedConsumers = new List <MailConsumer>() { DataLayerTestHelper.CreateMailConsumer("updatedConsumer", 1) }; var update = _data.UpdateGroup(groupId, expectedGroup, expectedConsumers); var actualGroup = _context.Groups.Where(x => x.Id == groupId).FirstOrDefault(); var actualConsumers = _context.Consumers.Where(x => x.GroupId == groupId).FirstOrDefault(); Assert.IsFalse(update); Assert.IsNull(actualGroup); Assert.IsNull(actualConsumers); }
public void UpdateGroupShouldUpdateGroup(int groupId) { var expectedGroup = DataLayerTestHelper.CreateMailingGroup("updatedName", 1); var expectedConsumer = DataLayerTestHelper.CreateMailConsumer("*****@*****.**", groupId); var consumers = new List <MailConsumer>() { expectedConsumer }; var update = _data.UpdateGroup(groupId, expectedGroup, consumers); var actualGroup = _context.Groups.Where(x => x.Id == groupId).FirstOrDefault(); var actualConsumer = _context.Consumers.Where(x => x.GroupId == groupId).FirstOrDefault(); Assert.IsTrue(update); Assert.AreEqual(expectedGroup.GroupOwnerId, actualGroup.GroupOwnerId); Assert.AreEqual(expectedGroup.Name, actualGroup.Name); Assert.AreEqual(expectedConsumer.ConsumerAddress, actualConsumer.ConsumerAddress); Assert.AreEqual(expectedConsumer.Id, actualConsumer.Id); Assert.AreEqual(expectedConsumer.GroupId, actualConsumer.GroupId); }
public void InsertGroupShouldInsertGroup() { var expectedGroup = DataLayerTestHelper.CreateMailingGroup("insertedName", 1); var expectedConsumer = DataLayerTestHelper.CreateMailConsumer("*****@*****.**", 0); var consumers = new List <MailConsumer>() { expectedConsumer }; var inserted = _data.InsertGroup(expectedGroup, consumers); var insertedGroup = _context.Groups.Where(x => x.Id == inserted).FirstOrDefault(); var insertedConsumer = _context.Consumers.Where(x => x.GroupId == inserted).FirstOrDefault(); Assert.AreNotEqual(-1, inserted); Assert.IsNotNull(insertedGroup); Assert.IsNotNull(insertedConsumer); Assert.AreEqual(expectedGroup.GroupOwnerId, insertedGroup.GroupOwnerId); Assert.AreEqual(expectedGroup.Name, insertedGroup.Name); Assert.AreEqual(expectedConsumer.ConsumerAddress, insertedConsumer.ConsumerAddress); Assert.AreEqual(true, insertedGroup.Id == insertedConsumer.GroupId); }