public async Task AddUserResourcePool_IdShouldBeBiggerThanZero() { // Arrange var userStore = new UserStore(Context); userStore.AutoSaveChanges = false; var user = new User("User"); await userStore.CreateAsync(user); await Context.SaveChangesAsync(); LoginAs(user); var resourcePool = new ResourcePool(user, "ResourcePool"); var userResourcePool = resourcePool.AddUserResourcePool(100); // Act resourcePoolRepository.Insert(resourcePool); await Context.SaveChangesAsync(); // Assert Assert.IsTrue(user.Id > 0); Assert.IsTrue(resourcePool.Id > 0); //Assert.IsTrue(userResourcePool.Id > 0); }
public async Task DbInterceptor_ShouldOnlyGetAuthenticatedUserData() { // Arrange var userStore = new UserStore(Context); userStore.AutoSaveChanges = false; var user1 = new User("User 1"); var user2 = new User("User 2"); await userStore.CreateAsync(user1); await userStore.CreateAsync(user2); await Context.SaveChangesAsync(); // Act var resourcePool = new ResourcePool(user1, "ResourcePool"); resourcePoolRepository.Insert(resourcePool); LoginAs(user1); resourcePool.AddUserResourcePool(100); await Context.SaveChangesAsync(); LoginAs(user2); resourcePool.AddUserResourcePool(100); await Context.SaveChangesAsync(); // Assert: Clear the context and retrieve the data one more time, it should only get the authenticated user's data RefreshStore(); var resourcePoolFromDb = resourcePoolRepository .AllLiveIncluding(item => item.UserResourcePoolSet) .OrderByDescending(item => item.CreatedOn) .First(); Assert.IsTrue(resourcePoolFromDb.Id == resourcePool.Id); Assert.IsTrue(resourcePoolFromDb.UserResourcePoolSet.Count == 1); Assert.IsTrue(resourcePoolFromDb.UserResourcePoolSet.Single().UserId == user2.Id); }
public async Task DbInterceptor_NoLoggedInUser_ShouldNotGetAnyUserData() { // Arrange var userStore = new UserStore(Context); userStore.AutoSaveChanges = false; var user1 = new User("User 1"); var user2 = new User("User 2"); await userStore.CreateAsync(user1); await userStore.CreateAsync(user2); await Context.SaveChangesAsync(); // Act var resourcePool = new ResourcePool(user1, "ResourcePool"); resourcePoolRepository.Insert(resourcePool); LoginAs(user1); resourcePool.AddUserResourcePool(100); await Context.SaveChangesAsync(); LoginAs(user2); resourcePool.AddUserResourcePool(100); await Context.SaveChangesAsync(); // Assert: Clear the context and retrieve the data one more time, since there is no logged in user, it shouldn't retrieve any user level data Logout(); RefreshStore(); var resourcePoolFromDb = resourcePoolRepository .AllLiveIncluding(item => item.UserResourcePoolSet) .OrderByDescending(item => item.CreatedOn) .First(); Assert.IsTrue(resourcePoolFromDb.Id == resourcePool.Id); TestContext.WriteLine("resourcePoolFromDb.UserResourcePoolSet.Count: " + resourcePoolFromDb.UserResourcePoolSet.Count); Assert.IsTrue(resourcePoolFromDb.UserResourcePoolSet.Count == 1); Assert.IsTrue(resourcePoolFromDb.UserResourcePoolSet.Single().UserId == user2.Id); }