public async Task ReturnUserCurrency_WhenValidUserIdIsPassed() { var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>() .UseInMemoryDatabase(databaseName: "ReturnUserCurrency_WhenValidUserIdIsPassed") .UseInternalServiceProvider(serviceProvider).Options; var user = new User() { Currency = Currency.BGN }; using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { await bedeSlotsContext.Users.AddAsync(user); await bedeSlotsContext.SaveChangesAsync(); } using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { var sut = new Data.CurrencyService(bedeSlotsContext); var result = await sut.GetUserCurrencyAsync(user.Id); Assert.IsTrue(result == user.Currency); Assert.IsInstanceOfType(result, typeof(Currency)); } }
public async Task ThrowServiceException_WhenThereAreNoUsersInDatabase() { var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>() .UseInMemoryDatabase(databaseName: "ThrowServiceException_WhenThereAreNoUsersInDatabase") .UseInternalServiceProvider(serviceProvider).Options; using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { var sut = new Data.CurrencyService(bedeSlotsContext); await Assert.ThrowsExceptionAsync <ServiceException>(async() => await sut.GetUserCurrencyAsync("test")); } }
public void InitializeCorrectly_WhenValidContextIsPassed() { var serviceProvider = new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(); var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>() .UseInMemoryDatabase(databaseName: "InitializeCorrectly_WhenValidContextIsPassed") .UseInternalServiceProvider(serviceProvider).Options; using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { var sut = new Data.CurrencyService(bedeSlotsContext); Assert.IsInstanceOfType(sut, typeof(Data.CurrencyService)); } }
public void ReturnCollectionOfAllCurrencies_WhenInvoked() { var serviceProvider = new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(); var contexOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>() .UseInMemoryDatabase(databaseName: "ReturnCollectionOfAllCurrencies_WhenInvoked") .UseInternalServiceProvider(serviceProvider).Options; using (var bedeSlotsContext = new BedeSlotsDbContext(contexOptions)) { var sut = new Data.CurrencyService(bedeSlotsContext); var result = sut.GetAllCurrencies(); Assert.IsInstanceOfType(result, typeof(ICollection <Currency>)); Assert.IsTrue(result.Count == 4); } }
public async Task ThrowServiceException_WhenUserCurrencyIsNull() { var contextOptions = new DbContextOptionsBuilder <BedeSlotsDbContext>() .UseInMemoryDatabase(databaseName: "ThrowServiceException_WhenUserCurrencyIsNull") .UseInternalServiceProvider(serviceProvider).Options; var user = new User(); using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { await bedeSlotsContext.Users.AddAsync(user); await bedeSlotsContext.SaveChangesAsync(); } using (var bedeSlotsContext = new BedeSlotsDbContext(contextOptions)) { var sut = new Data.CurrencyService(bedeSlotsContext); await Assert.ThrowsExceptionAsync <ServiceException>(async() => await sut.GetUserCurrencyAsync(user.Id)); } }