Exemple #1
0
        public async void GetSchemesExternalHandlerHandleAsync_GivenGetSchemeExternalRequest_ReturnListOfSchemesThatAreApprovedOrWithdrawn()
        {
            using (var database = new DatabaseWrapper())
            {
                var context = database.WeeeContext;
                var mapper  = new SchemeMap(A.Fake <IMapper>(), A.Fake <IMap <Address, AddressData> >(), A.Fake <IMap <Contact, ContactData> >());

                var          name                 = "Test Name" + Guid.NewGuid();
                var          tradingName          = "Test Trading Name" + Guid.NewGuid();
                const string crn                  = "ABC12345";
                var          organisationApproved = Organisation.CreateRegisteredCompany(name, crn, tradingName);
                organisationApproved.OrganisationStatus = OrganisationStatus.Complete;
                var organisationPending = Organisation.CreateRegisteredCompany(name, crn, tradingName);
                organisationPending.OrganisationStatus = OrganisationStatus.Complete;
                var organisationWithdrawn = Organisation.CreateRegisteredCompany(name, crn, tradingName);
                organisationWithdrawn.OrganisationStatus = OrganisationStatus.Complete;
                var organisationRejected = Organisation.CreateRegisteredCompany(name, crn, tradingName);
                organisationRejected.OrganisationStatus = OrganisationStatus.Complete;

                context.Organisations.Add(organisationApproved);
                context.Organisations.Add(organisationPending);
                context.Organisations.Add(organisationWithdrawn);
                context.Organisations.Add(organisationRejected);
                await context.SaveChangesAsync();

                var schemeApproved = new Scheme(organisationApproved.Id);
                schemeApproved.SetStatus(SchemeStatus.Approved);
                context.Schemes.Add(schemeApproved);
                var schemeApprovedData = mapper.Map(schemeApproved);

                var schemePending = new Scheme(organisationPending.Id);
                schemePending.SetStatus(SchemeStatus.Pending);
                context.Schemes.Add(schemePending);

                var schemeWithdrawn = new Scheme(organisationWithdrawn.Id);
                schemeWithdrawn.SetStatus(SchemeStatus.Approved);
                schemeWithdrawn.SetStatus(SchemeStatus.Withdrawn);
                context.Schemes.Add(schemeWithdrawn);
                var schemeWithdrawnData = mapper.Map(schemeWithdrawn);

                var schemeRejected = new Scheme(organisationRejected.Id);
                schemeRejected.SetStatus(SchemeStatus.Rejected);
                context.Schemes.Add(schemeRejected);

                await context.SaveChangesAsync();

                var dataAccess = new GetSchemesDataAccess(database.WeeeContext);

                var results = await dataAccess.GetCompleteSchemes();

                var handler = new GetSchemesExternalHandler(dataAccess, mapper, A.Fake <IWeeeAuthorization>());

                var request = new GetSchemesExternal();

                var schemeDataList = new List <SchemeData>();

                var result = await handler.HandleAsync(request);
            }
        }
Exemple #2
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);
            }
        }