예제 #1
0
        public async Task <int> CreateUserAsync(string username, string password)
        {
            var responseMessage = await _naheulbookHttpClient.PostAsync("/api/v2/users/", new { username, password });

            if (!responseMessage.IsSuccessStatusCode)
            {
                var content = await responseMessage.Content.ReadAsStringAsync();

                Assert.Fail($"Failed to create user {username}. StatusCode: {responseMessage.StatusCode} Content:'\n{content}'\n");
            }

            var mail = await GetMailAndWaitIfNotReady(username, 2000);

            if (mail == null)
            {
                Assert.Fail($"No mail received for user: {username}");
            }
            var activationCode = MailSteps.ParseActivationCodeFromActivationMail(mail !);

            await _naheulbookHttpClient.PostAsync($"/api/v2/users/{username}/validate", new { activationCode });

            using (var dbContext = new NaheulbookDbContext(_dbContextOptions))
            {
                var user = await dbContext.Users.FirstAsync(u => u.Username == username);

                return(user.Id);
            }
        }
예제 #2
0
        public async Task SetUserAdminAsync(string username)
        {
            using (var dbContext = new NaheulbookDbContext(_dbContextOptions))
            {
                var user = await dbContext.Users.FirstAsync(u => u.Username == username);

                user.Admin = true;
                await dbContext.SaveChangesAsync();
            }
        }
예제 #3
0
 public TestDataUtil(DbContextOptions <NaheulbookDbContext> dbContextOptions, DefaultEntityCreator defaultEntityCreator)
 {
     _defaultEntityCreator = defaultEntityCreator;
     _allEntities          = new List <object>();
     _dbContext            = new NaheulbookDbContext(dbContextOptions);
 }
예제 #4
0
 public UnitOfWork(NaheulbookDbContext naheulbookDbContext)
 {
     _naheulbookDbContext = naheulbookDbContext ?? throw new ArgumentNullException(nameof(naheulbookDbContext));
 }