public async Task <IGkamaUrl> AddUrlAsync(GkamaUrl url) { await _context.Urls .AddAsync(url); await _context.SaveChangesAsync(); return(url); }
public async Task AddShortUrl_AlreadyExists_ViolatesUniqueness(int id) { var url = new GkamaUrl() { Id = id, Target = "https://www.google.com/maps", ShortUrl = "https://gkama.it/5" }; await Assert.ThrowsAsync <InvalidOperationException>(() => _repo.AddUrlAsync(url)); }
public async Task DeleteUrlAsync_AddThenDelete(int id) { var url = new GkamaUrl() { Id = id, Target = "https://google.com" }; await _repo.AddUrlAsync(url); await _repo.DeleteUrlAsync(id); Assert.Null(await _repo.GetUrlAsync(id)); }
public async Task <IGkamaUrl> AddUrlAsync(string target) { var url = new GkamaUrl() { Target = target }; await _context.Urls .AddAsync(url); await _context.SaveChangesAsync(); return(url); }
public async Task <IGkamaUrl> AddUrlNotExistAsync(string target) { if (await GetGkamaUrlsQuery() .FirstOrDefaultAsync(x => x.Target == target) != null) { throw new UrlException(HttpStatusCode.Found, $"url with target='{target}' already exists"); } var url = new GkamaUrl() { Target = target }; await _context.Urls .AddAsync(url); await _context.UrlMetadata .AddAsync(url.Target.ParseUri()); await _context.SaveChangesAsync(); return(url); }