public void TestInsertAndGetId() { // Arrange using var uow = BeginUow(); var userRepo = GetRepository <User, long>(); var roleRepo = GetRepository <Role>(); var creationAuditedRepo = GetRepository <TestCreationAudited>(); // Act var role3 = new Role { Name = "Role3" }; roleRepo.InsertAndGetId(role3); var user5 = new User { Name = "User5", RoleId = role3.Id }; userRepo.InsertAndGetId(user5); var creationAudited1 = new TestCreationAudited(); creationAuditedRepo.InsertAndGetId(creationAudited1); // Assert Assert.Equal(3, role3.Id); Assert.NotNull(roleRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 3)); Assert.Equal(3, roleRepo.GetAll().AsNoTracking().Count()); Assert.Equal(5, user5.Id); Assert.NotNull(userRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 5)); Assert.Equal(5, userRepo.GetAll().AsNoTracking().Count()); Assert.Equal(1, creationAudited1.Id); Assert.Equal(1, creationAuditedRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 1)?.CreatorUserId); Assert.Equal(1, creationAuditedRepo.GetAll().AsNoTracking().Count()); // Complete uow uow.Complete(); }
public async Task TestInsertAndGetIdAsync() { // Arrange using var uow = BeginUow(); var userRepo = GetRepository <User, long>(); var roleRepo = GetRepository <Role>(); var creationAuditedRepo = GetRepository <TestCreationAudited>(); // Act var role3 = new Role { Name = "Role3" }; await roleRepo.InsertAndGetIdAsync(role3); var user5 = new User { Name = "User5", RoleId = 1 }; await userRepo.InsertAndGetIdAsync(user5); var creationAudited1 = new TestCreationAudited(); await creationAuditedRepo.InsertAndGetIdAsync(creationAudited1); // Assert Assert.Equal(3, role3.Id); Assert.NotNull(await roleRepo.GetAll().AsNoTracking().SingleOrDefaultAsync(p => p.Id == 3)); Assert.Equal(3, await roleRepo.GetAll().AsNoTracking().CountAsync()); Assert.Equal(5, user5.Id); Assert.Equal(5, await userRepo.GetAll().AsNoTracking().CountAsync()); Assert.NotNull(await userRepo.GetAll().AsNoTracking().SingleOrDefaultAsync(p => p.Id == 5)); Assert.Equal(1, creationAudited1.Id); Assert.Equal(1, (await creationAuditedRepo.GetAll().AsNoTracking().SingleOrDefaultAsync(p => p.Id == 1))?.CreatorUserId); Assert.Equal(1, await creationAuditedRepo.GetAll().AsNoTracking().CountAsync()); // Complete uow await uow.CompleteAsync(); }
public void TestInsert() { // Arrange using var uow = BeginUow(); var userRepo = GetRepository <User, long>(); var roleRepo = GetRepository <Role>(); var creationAuditedRepo = GetRepository <TestCreationAudited>(); #region Insert but not SaveChanges // Act var user5 = new User { Name = "User5", RoleId = 1 }; userRepo.Insert(user5); var role3 = new Role { Name = "Role3", }; roleRepo.Insert(role3); var creationAudited1 = new TestCreationAudited(); creationAuditedRepo.Insert(creationAudited1); // Assert Assert.Equal(0, user5.Id); Assert.Equal(4, userRepo.GetAll().AsNoTracking().Count()); Assert.Equal(0, role3.Id); Assert.Equal(2, roleRepo.GetAll().AsNoTracking().Count()); Assert.Equal(0, creationAudited1.Id); Assert.Equal(0, creationAuditedRepo.GetAll().AsNoTracking().Count()); #endregion #region SaveChanges // Act ((IUnitOfWork)uow).SaveChanges(); // Assert Assert.Equal(5, user5.Id); Assert.NotNull(userRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 5)); Assert.Equal(5, userRepo.GetAll().AsNoTracking().Count()); Assert.Equal(3, role3.Id); Assert.NotNull(roleRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 3)); Assert.Equal(3, roleRepo.GetAll().AsNoTracking().Count()); Assert.Equal(1, creationAudited1.Id); Assert.Equal(1, creationAuditedRepo.GetAll().AsNoTracking().SingleOrDefault(p => p.Id == 1)?.CreatorUserId); Assert.Equal(1, creationAuditedRepo.GetAll().AsNoTracking().Count()); #endregion // Complete uow uow.Complete(); }