コード例 #1
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);
                }
            }
        }
コード例 #2
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);
                }
            }
        }
コード例 #3
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);
            }
        }
コード例 #4
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);
            }
        }
コード例 #5
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);
            }
        }
コード例 #6
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);
            }
        }