public async Task <bool> UpdateAsync(SiteOptionsDto site) { if (await dbRepository.UpdateAsync(site.MapToDb())) { Cache.Update(site.MapToCache()); return(true); } return(false); }
public async Task <SiteOptionsDto> CreateAsync(SiteOptionsDto site) { var entity = await dbRepository.CreateAsync(site.MapToDb()); Cache.Add(new SiteOptions { Id = entity.Id, Host = entity.Host, PingFrequency = entity.PingFrequency }); return(SiteOptionsDto.Map(entity)); }
public async Task UpdateAsync_SomeSite_CacheUpdated() { var repo = CreateMainRepository(); var site = repo.GetSites().First(); var dto = new SiteOptionsDto { Id = site.Id, Host = "test2.com", PingFrequency = 25 }; await repo.UpdateAsync(dto); var updatedSite = repo.GetSites().First(); Assert.IsTrue(site.Id == updatedSite.Id && updatedSite.Host == dto.Host && updatedSite.PingFrequency == dto.PingFrequency); }
public async Task CreateAsync_SomeSite_AddedToTheCache() { var repo = CreateMainRepository(); SiteOptionsDto site = new SiteOptionsDto { Host = "test2", PingFrequency = 20 }; var result = await repo.CreateAsync(site); SiteOptions cacheResult = null; foreach (var s in repo.GetSites()) { if (s.Host == "test2") { cacheResult = s; break; } } Assert.IsNotNull(result); Assert.IsTrue(result.Id == cacheResult.Id); }