Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
                }
            }
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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 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);
            }
        }
Exemple #9
0
        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);
            }
        }
Exemple #10
0
        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);
            }
        }