コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }