public async Task AddAsync_ReturnsTrue_IfProductDoesntExist() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var favouriteProductsRepository = new EfDeletableEntityRepository <UserFavouriteProduct>(context); var favouriteProductService = new FavouriteProductsService(favouriteProductsRepository); var shouldBeTrue = await favouriteProductService.AddAsync("productId1", "userId1"); Assert.True(shouldBeTrue); }
public async Task AddAsync_ThrowsException_IfParamatersAreNull() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var favouriteProductsRepository = new EfDeletableEntityRepository <UserFavouriteProduct>(context); var favouriteProductService = new FavouriteProductsService(favouriteProductsRepository); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await favouriteProductService.AddAsync(null, null); }); }
public async Task AddAsync_ReturnsFalse_IfProductAlreadyExists() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var favouriteProductsRepository = new EfDeletableEntityRepository <UserFavouriteProduct>(context); var favouriteProductService = new FavouriteProductsService(favouriteProductsRepository); var favouriteProductsSeeder = new FavouriteProductsSeeder(); await favouriteProductsSeeder.SeedFavouriteProducts(context); var shouldBeFalse = await favouriteProductService.AddAsync("productId1", "userId1"); Assert.False(shouldBeFalse); }