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); } }
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); } }
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); } }
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)); } }
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); } }
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) { }
public EventLogRepository(CompanyNameProjectNameContext context) { this.context = context; }
public MessagesRepository(CompanyNameProjectNameContext context, IMapper mapper) : base(context, mapper) { }