public async Task GetByOrganisationId_GivenOrganisationIdReturnsAreReturned() { using (var database = new DatabaseWrapper()) { var modelHelper = new ModelHelper(database.Model); var organisation = Organisation.CreateSoleTrader("Test Organisation"); var @return1 = CreateReturn(database, organisation); var @return2 = CreateReturn(database, organisation); var dataAccess = new ReturnDataAccess(database.WeeeContext); await dataAccess.Submit(@return1); await dataAccess.Submit(@return2); var result = await dataAccess.GetByOrganisationId(organisation.Id); result.Should().NotBeNull(); result.Count().Should().Be(2); } }
public async Task FetchNonObligatedWeeeForReturn_ReturnedListShouldContainAllTonnagesFromRequest(bool dcf) { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var domainHelper = new DomainHelper(database.WeeeContext); var context = A.Fake <WeeeContext>(); var @return = CreateReturn(database); var returnDataAccess = new ReturnDataAccess(database.WeeeContext); await returnDataAccess.Submit(@return); var categoryValues = new List <NonObligatedValue>(); foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>()) { categoryValues.Add(new NonObligatedValue((int)category, (int)category, dcf, Guid.NewGuid())); } var nonObligatedRequest = new AddNonObligated() { ReturnId = @return.Id, OrganisationId = @return.Organisation.Id, Dcf = dcf, CategoryValues = categoryValues }; var nonObligatedWee = new List <NonObligatedWeee>(); foreach (var categoryValue in nonObligatedRequest.CategoryValues) { nonObligatedWee.Add(new NonObligatedWeee(@return, categoryValue.CategoryId, dcf, categoryValue.Tonnage)); } var nonObDataAccess = new NonObligatedDataAccess(database.WeeeContext); await nonObDataAccess.InsertNonObligatedWeee(@return.Id, nonObligatedWee); var dataAccess = new NonObligatedDataAccess(database.WeeeContext); var tonnageList = await dataAccess.FetchNonObligatedWeeeForReturn(@return.Id, dcf); foreach (var category in nonObligatedWee) { tonnageList.Should().Contain(category.Tonnage); } } }
public async Task GetByComplianceYearAndYear_ReturnsWithMatchingQuarterAndFacilityType_ReturnsShouldBeReturned() { using (var database = new DatabaseWrapper()) { var modelHelper = new ModelHelper(database.Model); var organisation = Organisation.CreateSoleTrader("Test Organisation"); var organisation2 = Organisation.CreateSoleTrader("Test Organisation"); var @return1 = CreateReturn(database, organisation); var @return2 = CreateReturn(database, organisation); var @return3 = CreateReturn(database, organisation, new Quarter(2019, QuarterType.Q2), FacilityType.Aatf); var @return4 = CreateReturn(database, organisation, new Quarter(2019, QuarterType.Q3), FacilityType.Aatf); var @return5 = CreateReturn(database, organisation, new Quarter(2019, QuarterType.Q4), FacilityType.Aatf); var @return6 = CreateReturn(database, organisation, new Quarter(2018, QuarterType.Q1), FacilityType.Aatf); var @return7 = CreateReturn(database, organisation2); var @return8 = CreateReturn(database, organisation, new Quarter(2019, QuarterType.Q1), FacilityType.Ae); var dataAccess = new ReturnDataAccess(database.WeeeContext); await dataAccess.Submit(@return1); await dataAccess.Submit(@return2); await dataAccess.Submit(@return3); await dataAccess.Submit(@return4); await dataAccess.Submit(@return5); await dataAccess.Submit(@return6); await dataAccess.Submit(@return7); await dataAccess.Submit(@return8); var results = await dataAccess.GetByComplianceYearAndQuarter(@return1); results.Count.Should().Be(2); results.Count(r => r.Quarter.Year != 2019).Should().Be(0); results.Count(r => r.Id != @return1.Id && r.Id != @return2.Id).Should().Be(0); results.Count(r => r.Organisation.Id != @return1.Organisation.Id).Should().Be(0); results.Count(r => r.FacilityType != @return1.FacilityType).Should().Be(0); } }
public async Task Submit_ReturnShouldBeSubmitted() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var domainHelper = new DomainHelper(database.WeeeContext); var @return = CreateReturn(database); var dataAccess = new ReturnDataAccess(database.WeeeContext); var result = await dataAccess.Submit(@return); result.Should().NotBeEmpty(); } }
public async Task GetById_GivenValidReturnId_ReturnIsReturned() { using (var database = new DatabaseWrapper()) { var modelHelper = new ModelHelper(database.Model); var @return = CreateReturn(database); var dataAccess = new ReturnDataAccess(database.WeeeContext); var id = await dataAccess.Submit(@return); var result = await dataAccess.GetById(id); result.Should().NotBeNull(); result.Organisation.Should().NotBeNull(); } }