public async Task GetFilteredAatfsDataAccess_ByName_ReturnsFilteredAatfsList() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var dataAccess = new GetAatfsDataAccess(database.WeeeContext); var genericDataAccess = new GenericDataAccess(database.WeeeContext); var competentAuthorityDataAccess = new CommonDataAccess(database.WeeeContext); var competentAuthority = await competentAuthorityDataAccess.FetchCompetentAuthority(CompetentAuthority.England); var country = await database.WeeeContext.Countries.SingleAsync(c => c.Name == "UK - England"); var aatfContact = new AatfContact("first", "last", "position", "address1", "address2", "town", "county", "postcode", country, "telephone", "email"); var organisation = Organisation.CreatePartnership("Koalas"); var aatfAddress = AddressHelper.GetAatfAddress(database); var aatfSize = AatfSize.Large; var aatf = new Aatf("KoalaBears", competentAuthority, "WEE/AB1289YZ/ATF", AatfStatus.Approved, organisation, aatfAddress, aatfSize, DateTime.Now, aatfContact, FacilityType.Aatf, 2019, database.WeeeContext.LocalAreas.First(), database.WeeeContext.PanAreas.First()); await genericDataAccess.Add <Aatf>(aatf); var filteredListWithAatf = await dataAccess.GetFilteredAatfs(new Core.AatfReturn.AatfFilter { Name = "k" }); var filteredListWithoutAatf = await dataAccess.GetFilteredAatfs(new Core.AatfReturn.AatfFilter { Name = "z" }); filteredListWithAatf.Should().Contain(aatf); filteredListWithoutAatf.Should().NotContain(aatf); } }
public async Task FetchActiveOrganisationUsers_ReturnsSpecifiedUsers() { using (DatabaseWrapper database = new DatabaseWrapper()) { // Arrange ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); var organisation = helper.CreateOrganisation(); var organisationUser = helper.CreateOrganisationUser(organisation, "*****@*****.**", 2); var organisation2 = helper.CreateOrganisation(); var organisationUser2 = helper.CreateOrganisationUser(organisation2, "*****@*****.**", 2); database.Model.SaveChanges(); var dataAccess = new OrganisationUserRequestEventHandlerDataAccess(database.WeeeContext); // Act var results = await dataAccess.FetchActiveOrganisationUsers(organisation.Id); // Assert foreach (var result in results) { result.User.Email.Should().Be(organisationUser.AspNetUser.Email); } } }
public async Task GetAatfsDataAccess_ReturnsAatfsList() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var dataAccess = new GetAatfsDataAccess(database.WeeeContext); var genericDataAccess = new GenericDataAccess(database.WeeeContext); var competentAuthorityDataAccess = new CommonDataAccess(database.WeeeContext); var competentAuthority = await competentAuthorityDataAccess.FetchCompetentAuthority(CompetentAuthority.England); var country = await database.WeeeContext.Countries.SingleAsync(c => c.Name == "UK - England"); var aatfContact = new AatfContact("first", "last", "position", "address1", "address2", "town", "county", "postcode", country, "telephone", "email"); var organisation = Organisation.CreatePartnership("Koalas"); var aatfAddress = AddressHelper.GetAatfAddress(database); var aatfSize = AatfSize.Large; var aatf = ObligatedWeeeIntegrationCommon.CreateAatf(database, organisation); await genericDataAccess.Add <Aatf>(aatf); var aatfList = await dataAccess.GetAatfs(); aatfList.Should().Contain(aatf); } }
public async Task GetAatfsDataAccess_ReturnsLatestAesList() { using (var database = new DatabaseWrapper()) { var helper = new ModelHelper(database.Model); var dataAccess = new GetAatfsDataAccess(database.WeeeContext); var genericDataAccess = new GenericDataAccess(database.WeeeContext); var competentAuthorityDataAccess = new CommonDataAccess(database.WeeeContext); var competentAuthority = await competentAuthorityDataAccess.FetchCompetentAuthority(CompetentAuthority.England); var country = await database.WeeeContext.Countries.SingleAsync(c => c.Name == "UK - England"); var aatfContact = new AatfContact("first", "last", "position", "address1", "address2", "town", "county", "postcode", country, "telephone", "email"); var organisation = Organisation.CreatePartnership("Koalas"); var aatfAddress = AddressHelper.GetAatfAddress(database); var aatfSize = AatfSize.Large; var aatfId = Guid.NewGuid(); var aatf = new Aatf("KoalaBears", competentAuthority, "WEE/AB1289YZ/ATF", AatfStatus.Approved, organisation, aatfAddress, aatfSize, DateTime.Now, aatfContact, FacilityType.Ae, 2019, database.WeeeContext.LocalAreas.First(), database.WeeeContext.PanAreas.First(), aatfId); var aatf1 = new Aatf("KoalaBears", competentAuthority, "WEE/AB1289YZ/ATF", AatfStatus.Approved, organisation, aatfAddress, aatfSize, Convert.ToDateTime("20/01/2020"), aatfContact, FacilityType.Ae, 2020, database.WeeeContext.LocalAreas.First(), database.WeeeContext.PanAreas.First(), aatfId); await genericDataAccess.AddMany <Aatf>(new List <Aatf>() { aatf1, aatf }); var aatfList = await dataAccess.GetLatestAatfs(); aatfList.Should().Contain(aatf1); aatfList.Should().NotContain(aatf); } }
public async void FetchActiveOrganisationUsers_GivenOrganisationId_ReturnsActiveUsersLinkedToOrganisations() { using (DatabaseWrapper database = new DatabaseWrapper()) { ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); var organisation = helper.CreateOrganisation(); var organisation2 = helper.CreateOrganisation(); var user = helper.CreateOrganisationUser(organisation, "*****@*****.**", 2); var user2 = helper.CreateOrganisationUser(organisation, "*****@*****.**", 1); var user3 = helper.CreateOrganisationUser(organisation, "*****@*****.**", 2); database.Model.SaveChanges(); var dataAccess = new GetActiveOrganisationUsersDataAccess(database.WeeeContext); var results = await dataAccess.FetchActiveOrganisationUsers(organisation.Id); foreach (var activeUser in results) { activeUser.UserStatus.Value.Should().Be(2); activeUser.OrganisationId.Should().Be(organisation.Id); } } }
public async void FetchActiveOrganisationUsers_GivenOrganisationId_UsersShouldBeOrganisedByEmails() { using (DatabaseWrapper database = new DatabaseWrapper()) { ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); var organisation = helper.CreateOrganisation(); var user = helper.CreateOrganisationUser(organisation, "*****@*****.**", 2); var user2 = helper.CreateOrganisationUser(organisation, "*****@*****.**", 2); database.Model.SaveChanges(); var dataAccess = new GetActiveOrganisationUsersDataAccess(database.WeeeContext); var results = await dataAccess.FetchActiveOrganisationUsers(organisation.Id); results.Should().BeInAscendingOrder(x => x.User.Email); } }
public async Task GetSchemesDataAccess_GetCompleteSchemes_ReturnsOnlySchemesWithCompleteOrganisations() { using (DatabaseWrapper database = new DatabaseWrapper()) { // Arrange ModelHelper helper = new ModelHelper(database.Model); var organisation1 = helper.CreateOrganisation(); organisation1.OrganisationType = 3; organisation1.OrganisationStatus = 2; // Complete organisation var scheme1 = helper.CreateScheme(organisation1); var organisation2 = helper.CreateOrganisation(); organisation2.OrganisationType = 1; organisation2.OrganisationStatus = 2; // Complete organisation var scheme2 = helper.CreateScheme(organisation2); var organisation3 = helper.CreateOrganisation(); organisation3.OrganisationType = 1; organisation3.OrganisationStatus = 1; // Incomplete organisation var scheme3 = helper.CreateScheme(organisation3); var organisation4 = helper.CreateOrganisation(); organisation4.OrganisationType = 2; organisation4.OrganisationStatus = 1; // Incomplete organisation var scheme4 = helper.CreateScheme(organisation4); database.Model.SaveChanges(); var dataAccess = new GetSchemesDataAccess(database.WeeeContext); // Act var result = await dataAccess.GetCompleteSchemes(); // Assert Assert.Contains(result, r => r.Id == scheme1.Id); Assert.Contains(result, r => r.Id == scheme2.Id); Assert.DoesNotContain(result, r => r.Id == scheme3.Id); Assert.DoesNotContain(result, r => r.Id == scheme4.Id); } }
public async Task FetchOrganisation_ReturnsSpecifiedOrganisation() { using (DatabaseWrapper database = new DatabaseWrapper()) { // Arrange ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); var organisation = helper.CreateOrganisation(); organisation.Name = "Organisation"; database.Model.SaveChanges(); var dataAccess = new OrganisationUserRequestEventHandlerDataAccess(database.WeeeContext); // Act var result = await dataAccess.FetchOrganisation(organisation.Id); // Assert result.Name.Should().Be(organisation.Name); } }
public async Task FetchUser_ReturnsSpecifiedUser() { using (DatabaseWrapper database = new DatabaseWrapper()) { // Arrange ModelHelper helper = new ModelHelper(database.Model); DomainHelper domainHelper = new DomainHelper(database.WeeeContext); var user = helper.CreateUser("*****@*****.**", Weee.Tests.Core.Model.IdType.Guid); var user2 = helper.CreateUser("*****@*****.**", Weee.Tests.Core.Model.IdType.Guid); database.Model.SaveChanges(); var dataAccess = new OrganisationUserRequestEventHandlerDataAccess(database.WeeeContext); // Act var result = await dataAccess.FetchUser(user.Id); // Assert result.Email.Should().Be(user.UserName); } }