public async Task CanCreateSentOnAatfEntry() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var country = await context.Countries.SingleAsync(c => c.Name == "France"); var aatfAddress = new AatfAddress("Site", "Address1", "Address2", "Town", "County", "PO12ST34", country); var dataAccess = new WeeeSentOnDataAccess(context); var returnData = await CreateWeeeSentOn(dataAccess, aatfAddress, database); var testWeeeSentOn = context.WeeeSentOn.Where(t => t.Return.Id == returnData.Item1 && t.Aatf.Id == returnData.Item2).FirstOrDefault(); var testAddress = testWeeeSentOn.SiteAddress; testAddress.Should().NotBeNull(); testAddress.Name.Should().NotBeNullOrEmpty(); testAddress.Name.Should().Be("Site"); testAddress.Address1.Should().NotBeNullOrEmpty(); testAddress.Address1.Should().Be("Address1"); testAddress.Address2.Should().Be("Address2"); testAddress.TownOrCity.Should().NotBeNullOrEmpty(); testAddress.TownOrCity.Should().Be("Town"); testAddress.CountyOrRegion.Should().Be("County"); testAddress.Postcode.Should().Be("PO12ST34"); testAddress.CountryId.Should().NotBeEmpty(); testAddress.CountryId.Should().Be(country.Id); } }
public async void GetWeeeSentOnSiteAddress_GivenWeeeSentOnId_CorrectAatfAddressShouldBeReturned() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new WeeeSentOnDataAccess(database.WeeeContext); var country = await context.Countries.SingleAsync(c => c.Name == "France"); var siteAddress = new AatfAddress("Site", "Address1", "Address2", "Town", "County", "PO12ST34", country); var weeeSentOn = await CreateWeeeSentOnInContext(dataAccess, siteAddress, database); var result = await dataAccess.GetWeeeSentOnSiteAddress(weeeSentOn.Id); result.Should().BeSameAs(weeeSentOn.SiteAddress); } }
public async void RemoveWeeeSentOn_GivenWeeeSentOn_CorrectDatabaseEntriesAreDeleted() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new GenericDataAccess(database.WeeeContext); var weeeSentOnDataAccess = new WeeeSentOnDataAccess(database.WeeeContext); var countryOperator = await context.Countries.SingleAsync(c => c.Name == "France"); var operatorAddress = AddressHelper.GetAatfAddress(database); var countrySite = await context.Countries.SingleAsync(c => c.Name == "France"); var siteAddress = AddressHelper.GetAatfAddress(database); var weeeSentOn = await CreateWeeeSentOnOperatorInContext(weeeSentOnDataAccess, operatorAddress, siteAddress, database); var weeeSentOnAmountList = await AppendWeeeSentOnAmountToWeeeSentOn(context, weeeSentOn); context.AatfAddress.Should().Contain(weeeSentOn.SiteAddress); context.AatfAddress.Should().Contain(weeeSentOn.OperatorAddress); foreach (var amount in weeeSentOnAmountList) { context.WeeeSentOnAmount.Should().Contain(amount); } context.WeeeSentOn.Should().Contain(weeeSentOn); dataAccess.Remove(weeeSentOn.SiteAddress); dataAccess.Remove(weeeSentOn.OperatorAddress); dataAccess.RemoveMany(weeeSentOnAmountList); dataAccess.Remove(weeeSentOn); await context.SaveChangesAsync(); context.AatfAddress.Should().NotContain(weeeSentOn.SiteAddress); context.AatfAddress.Should().NotContain(weeeSentOn.OperatorAddress); foreach (var amount in weeeSentOnAmountList) { context.WeeeSentOnAmount.Should().NotContain(amount); } context.WeeeSentOn.Should().NotContain(weeeSentOn); } }
private async Task <WeeeSentOn> CreateWeeeSentOnOperatorInContext(WeeeSentOnDataAccess dataAccess, AatfAddress operatorAddress, AatfAddress siteAddress, DatabaseWrapper database) { var organisation = ObligatedWeeeIntegrationCommon.CreateOrganisation(); var scheme = ObligatedWeeeIntegrationCommon.CreateScheme(organisation); var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); var @return = ObligatedWeeeIntegrationCommon.CreateReturn(organisation, database.Model.AspNetUsers.First().Id); database.WeeeContext.Organisations.Add(organisation); database.WeeeContext.Schemes.Add(scheme); database.WeeeContext.Aatfs.Add(aatf); database.WeeeContext.Returns.Add(@return); await database.WeeeContext.SaveChangesAsync(); var weeeSentOn = new WeeeSentOn(operatorAddress, siteAddress, aatf, @return); await dataAccess.Submit(weeeSentOn); return(weeeSentOn); }
public async void UpdateWithOperatorAddress_GivenOperatorAddress_ContextShouldContainUpdatedWeeeSentOnWithOperatorAddress() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var dataAccess = new WeeeSentOnDataAccess(database.WeeeContext); var country = await context.Countries.SingleAsync(c => c.Name == "France"); var operatorCountry = await context.Countries.SingleAsync(c => c.Name == "Germany"); var siteAddress = AddressHelper.GetAatfAddress(database); var operatorAddress = AddressHelper.GetAatfAddress(database); var weeeSentOn = await CreateWeeeSentOnInContext(dataAccess, siteAddress, database); await dataAccess.UpdateWithOperatorAddress(weeeSentOn, operatorAddress); weeeSentOn.OperatorAddress.Should().BeSameAs(operatorAddress); } }
public WeeeSentOnDataAccessTests() { context = A.Fake <WeeeContext>(); dataAccess = new WeeeSentOnDataAccess(context); dbContextHelper = new DbContextHelper(); }