public async Task GetSettingValue_TestKeyString_ReturnsKeyValue()
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var testSetting = new Setting()
            {
                Key         = "TestKey",
                Value       = "TestValue",
                Type        = typeof(string).ToString(),
                DisplayName = "Test Key",
                Description = "For Testing GetSettingValue"
            };

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                var settingsRepository = new SettingsRepository(context, MapperUtilities.GetTestMapper());
                await settingsRepository.CreateAsync(testSetting);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var settingsRepository = new SettingsRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var value = await settingsRepository.GetSettingValue("TestKey", string.Empty);

                // Assert
                Assert.AreEqual(value, testSetting.Value);
            }
        }
Beispiel #2
0
        public async Task GetMessagesAsync_ChannelId3_ReturnsEmptyList(MessagesResourceParameters messagesResourceParameters)
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var user = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test",
                LastName  = "User"
            };

            var messageOne = new Message()
            {
                Text      = "Test Message One",
                ChannelId = 1,
            };
            var messageTwo = new Message()
            {
                Text      = "Test Message Two",
                ChannelId = 2,
            };

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                // Add a user because we need a UserId foreign key for the messages
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());
                await usersRepository.CreateAsync(user);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var messagesRepository = new MessagesRepository(context, MapperUtilities.GetTestMapper());

                messageOne.UserId = user.Id;
                messageTwo.UserId = user.Id;

                // Add the messages
                await messagesRepository.CreateAsync(messageOne);

                await messagesRepository.CreateAsync(messageTwo);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var messagesRepository = new MessagesRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var results = await messagesRepository.GetMessagesAsync(messagesResourceParameters);

                // Assert
                Assert.AreEqual(results.Count(), 0);
            }
        }
Beispiel #3
0
        public async Task GetUsersAsync_AllPropertiesNull_ReturnsAllUsers()
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var user1 = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test1",
                LastName  = "User1"
            };

            var user2 = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test2",
                LastName  = "User2"
            };

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                // Add a user because we need a UserId foreign key for the Users
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());
                await usersRepository.CreateAsync(user1);

                await usersRepository.CreateAsync(user2);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var parameters = new UsersResourceParameters
                {
                    Email       = null,
                    FirstName   = null,
                    LastName    = null,
                    SearchQuery = null
                };

                // Get Users with null properties for parameters
                var results = await usersRepository.GetUsersAsync(parameters);

                // Assert
                Assert.AreEqual(results.Count(), 2);
                Assert.IsTrue(results.FirstOrDefault(x => x.Email == user1.Email) != null);
                Assert.IsTrue(results.FirstOrDefault(x => x.Email == user2.Email) != null);
            }
        }
Beispiel #4
0
        public void GetMessagesAsync_NullParameters_ReturnsArgumentNullException()
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                var messagesRepository = new MessagesRepository(context, MapperUtilities.GetTestMapper());

                // Assert
                Assert.ThrowsAsync <ArgumentNullException>(async() => await messagesRepository.GetMessagesAsync(null));
            }
        }
Beispiel #5
0
        public async Task GetUsersAsync_SearchQueryDoesntExist_ReturnsNull(UsersResourceParameters usersResourceParameters)
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var user1 = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test1",
                LastName  = "User1"
            };

            var user2 = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test2",
                LastName  = "User2"
            };

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                // Add a user because we need a UserId foreign key for the Users
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());
                await usersRepository.CreateAsync(user1);

                await usersRepository.CreateAsync(user2);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var results = await usersRepository.GetUsersAsync(usersResourceParameters);

                // Assert
                Assert.AreEqual(results.Count(), 0);
            }
        }
        public async Task TryGetSettingValue_ReturnsNullSuccessfulFalse(string key)
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                var settingsRepository = new SettingsRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var result = await settingsRepository.TryGetSettingValue <string>(key);

                // Assert
                Assert.AreEqual(result.Value, null);
                Assert.AreEqual(result.Successful, false);
            }
        }
        public async Task GetSettingValue_ReturnsDefaultValue(string key)
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var defaultValue = "default value";

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                var settingsRepository = new SettingsRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var value = await settingsRepository.GetSettingValue(key, defaultValue);

                // Assert
                Assert.AreEqual(value, defaultValue);
            }
        }
Beispiel #8
0
        public async Task GetMessagesAsync_AllPropertiesNull_ReturnsAllMessages()
        {
            // Arrange
            var options = DatabaseUtilities.GetTestDbConextOptions <CompanyNameProjectNameContext>();

            var user = new User()
            {
                Email     = "*****@*****.**",
                FirstName = "Test",
                LastName  = "User"
            };

            var messageOne = new Message()
            {
                Text      = "Test Message One",
                ChannelId = 1,
            };
            var messageTwo = new Message()
            {
                Text      = "Test Message Two",
                ChannelId = 1,
            };

            using (var context = new CompanyNameProjectNameContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                // Add a user because we need a UserId foreign key for the messages
                var usersRepository = new UsersRepository(context, MapperUtilities.GetTestMapper());
                await usersRepository.CreateAsync(user);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var messagesRepository = new MessagesRepository(context, MapperUtilities.GetTestMapper());

                messageOne.UserId = user.Id;
                messageTwo.UserId = user.Id;

                // Add the messages
                await messagesRepository.CreateAsync(messageOne);

                await messagesRepository.CreateAsync(messageTwo);
            }

            using (var context = new CompanyNameProjectNameContext(options))
            {
                var messagesRepository = new MessagesRepository(context, MapperUtilities.GetTestMapper());

                // Act
                var parameters = new MessagesResourceParameters {
                    ChannelId = 0, SearchQuery = null
                };

                // Get messages with null properties for parameters
                var results = await messagesRepository.GetMessagesAsync(parameters);

                // Assert
                Assert.AreEqual(results.Count(), 2);
                Assert.IsTrue(results.FirstOrDefault(x => x.Text == messageOne.Text) != null);
                Assert.IsTrue(results.FirstOrDefault(x => x.Text == messageTwo.Text) != null);
            }
        }
 public BaseRepository(CompanyNameProjectNameContext context, IMapper mapper)
 {
     Context = context;
     Mapper  = mapper;
 }
 public SettingsRepository(CompanyNameProjectNameContext context, IMapper mapper)
     : base(context, mapper)
 {
 }
Beispiel #11
0
 public EventLogRepository(CompanyNameProjectNameContext context)
 {
     this.context = context;
 }
 public MessagesRepository(CompanyNameProjectNameContext context, IMapper mapper)
     : base(context, mapper)
 {
 }