public async Task <Api.Domain.Group> GetGroupById(int id) { using (MySqlConnection connection = new MySqlConnection(await _connectionInfo.GetConnectionStringAsync())) { await connection.OpenAsync().ConfigureAwait(false); MySqlCommand command = new MySqlCommand(GroupDaoResources.SelectGroupById, connection); command.Parameters.AddWithValue("id", id); command.Prepare(); Api.Domain.Group group = null; using (DbDataReader reader = await command.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { group = new Api.Domain.Group( reader.GetInt32("id"), reader.GetString("name")); } } connection.Close(); return(group); } }
async Task GivenGroupsInDatabase() { using (var dbContext = new WordkiDbContext(ConnectionStringProvider)) { var user = Builder <Api.Domain.User> .CreateNew() .With(u => u.Id = 1) .With(u => u.Name = "user") .With(u => u.Password = Host.EncrypterMock.Object.Md5Hash("pass")) .With(u => u.LastLoginDate = new DateTime(2020, 1, 1)) .With(u => u.CreationDate = new DateTime(2020, 1, 1)) .Build(); dbContext.Users.Add(user); var sequence = new SequentialGenerator <long> { Direction = GeneratorDirection.Ascending, Increment = 1 }; sequence.StartingWith(1); var builder = Builder <Api.Domain.Group> .CreateNew() .With(g => g.Id = sequence.Generate()) .With(g => g.GroupLanguage1 = 1) .With(g => g.GroupLanguage2 = 2) .With(g => g.Name = "name"); var groups = new Api.Domain.Group[] { builder.Build(), builder.Build() }; dbContext.Groups.AddRange(groups); await dbContext.SaveChangesAsync(); } }
public async Task GetGroupsByIdReturnsGroupsWhenGroupsExist() { int groupId = TestHelpers.CreateGroup(ConnectionString, Group1); Api.Domain.Group group = await _groupDao.GetGroupById(groupId); Assert.That(group.Id, Is.EqualTo(groupId)); Assert.That(group.Name, Is.EqualTo(Group1)); }
public async Task CreateGroupCorrectlyInsertsGroup() { GroupForCreation groupForCreation = new GroupForCreation { Name = Group1 }; Api.Domain.Group group = await _groupDao.CreateGroup(groupForCreation); List <Api.Domain.Group> groups = TestHelpers.GetAllGroups(ConnectionString); Assert.That(groups.Count, Is.EqualTo(1)); Assert.That(groups[0].Id, Is.EqualTo(group.Id)); Assert.That(groups[0].Name, Is.EqualTo(group.Name)); }
public static List <Api.Domain.Group> GetAllGroups(string connectionString) { List <Api.Domain.Group> groups = new List <Api.Domain.Group>(); using (DbDataReader reader = MySqlHelper.ExecuteReader(connectionString, "SELECT * FROM `group`")) { while (reader.Read()) { Api.Domain.Group group = new Api.Domain.Group( reader.GetInt32("id"), reader.GetString("name")); groups.Add(group); } } return(groups); }
public async Task <Api.Domain.Group> CreateGroup(GroupForCreation user) { using (MySqlConnection connection = new MySqlConnection(await _connectionInfo.GetConnectionStringAsync())) { await connection.OpenAsync().ConfigureAwait(false); MySqlCommand command = new MySqlCommand(GroupDaoResources.InsertGroup, connection); command.Parameters.AddWithValue("name", user.Name); command.Prepare(); ulong groupId = (ulong)await command.ExecuteScalarAsync(); Api.Domain.Group newGroup = new Api.Domain.Group( (int)groupId, user.Name); connection.Close(); return(newGroup); } }
async Task GivenGroupInDatabase() { using (var dbContext = new WordkiDbContext(ConnectionStringProvider)) { var user = new Api.Domain.User { Id = 1, Name = "user", Password = Host.EncrypterMock.Object.GetSalt(string.Empty), CreationDate = Host.Time2ProviderMock.Object.GetTime(), LastLoginDate = Host.Time2ProviderMock.Object.GetTime() }; dbContext.Users.Add(user); var group = new Api.Domain.Group { Id = 1, GroupLanguage1 = 1, GroupLanguage2 = 2, Name = "group", GroupCreationDate = Host.Time2ProviderMock.Object.GetTime() }; dbContext.Groups.Add(group); var word = new Api.Domain.Card { Heads = new Side { Value = "word1" }, Tails = new Side { Value = "word2" }, IsVisible = true, WordCreationDate = new DateTime(2020, 01, 01), }; dbContext.Words.Add(word); await dbContext.SaveChangesAsync(); } }
public async Task GetGroupsByIdReturnsNullWhenNoGroupExists() { Api.Domain.Group group = await _groupDao.GetGroupById(1); Assert.That(group, Is.Null); }