Ejemplo n.º 1
0
        public async Task UpdateOrganisationTypeDetailsHandler_NotOrganisationUser_ThrowsSecurityException()
        {
            var authorization = AuthorizationBuilder.CreateUserDeniedFromAccessingOrganisation();

            var handler = new UpdateOrganisationTypeDetailsHandler(A <WeeeContext> ._, authorization);
            var message = new UpdateOrganisationTypeDetails(Guid.NewGuid(), OrganisationType.RegisteredCompany, A <string> ._, A <string> ._, A <string> ._);

            await Assert.ThrowsAsync <SecurityException>(async() => await handler.HandleAsync(message));
        }
        public async Task UpdateOrganisationTypeDetailsHandler_NotOrganisationUser_ThrowsSecurityException()
        {
            var authorization = AuthorizationBuilder.CreateUserDeniedFromAccessingOrganisation();

            var handler = new UpdateOrganisationTypeDetailsHandler(A<WeeeContext>._, authorization);
            var message = new UpdateOrganisationTypeDetails(Guid.NewGuid(), OrganisationType.RegisteredCompany, A<string>._, A<string>._, A<string>._);

            await Assert.ThrowsAsync<SecurityException>(async () => await handler.HandleAsync(message));
        }
        public async Task UpdateOrganisationTypeDetailsHandler_NoSuchOrganisation_ThrowsArgumentException()
        {
            WeeeContext context = A.Fake<WeeeContext>();
            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List<Organisation>()));

            var authorization = AuthorizationBuilder.CreateUserAllowedToAccessOrganisation();

            var handler = new UpdateOrganisationTypeDetailsHandler(context, authorization);
            var message = new UpdateOrganisationTypeDetails(Guid.NewGuid(), OrganisationType.RegisteredCompany, A<string>._, A<string>._, A<string>._);

            var exception = await Assert.ThrowsAsync<ArgumentException>(async () => await handler.HandleAsync(message));

            Assert.True(exception.Message.ToUpperInvariant().Contains("COULD NOT FIND"));
            Assert.True(exception.Message.ToUpperInvariant().Contains("ORGANISATION"));
            Assert.True(exception.Message.Contains(message.OrganisationId.ToString()));
        }
Ejemplo n.º 4
0
        public async Task UpdateOrganisationTypeDetailsHandler_NoSuchOrganisation_ThrowsArgumentException()
        {
            WeeeContext context = A.Fake <WeeeContext>();

            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List <Organisation>()));

            var authorization = AuthorizationBuilder.CreateUserAllowedToAccessOrganisation();

            var handler = new UpdateOrganisationTypeDetailsHandler(context, authorization);
            var message = new UpdateOrganisationTypeDetails(Guid.NewGuid(), OrganisationType.RegisteredCompany, A <string> ._, A <string> ._, A <string> ._);

            var exception = await Assert.ThrowsAsync <ArgumentException>(async() => await handler.HandleAsync(message));

            Assert.True(exception.Message.ToUpperInvariant().Contains("COULD NOT FIND"));
            Assert.True(exception.Message.ToUpperInvariant().Contains("ORGANISATION"));
            Assert.True(exception.Message.Contains(message.OrganisationId.ToString()));
        }
        public async Task<ActionResult> RegisteredCompanyDetails(RegisteredCompanyDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            using (var client = apiClient())
            {
                if (model.OrganisationId != null)
                {
                    // update orgnisation details
                    UpdateOrganisationTypeDetails updateRequest = new UpdateOrganisationTypeDetails(
                        model.OrganisationId.Value,
                        OrganisationType.RegisteredCompany,
                        model.CompanyName,
                        model.BusinessTradingName,
                        model.CompaniesRegistrationNumber);

                    Guid organisationId = await client.SendAsync(User.GetAccessToken(), updateRequest);
                    return RedirectToAction("MainContactPerson", new { organisationId });
                }

                CreateRegisteredCompanyRequest request = new CreateRegisteredCompanyRequest
                {
                    BusinessName = model.CompanyName,
                    CompanyRegistrationNumber = model.CompaniesRegistrationNumber,
                    TradingName = model.BusinessTradingName
                };
                //create the organisation only if does not exist
                Guid orgId = await client.SendAsync(User.GetAccessToken(), request);
                return RedirectToAction("MainContactPerson", new { organisationId = orgId });
            }
        }
        public async Task<ActionResult> PartnershipDetails(PartnershipDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            using (var client = apiClient())
            {
                if (model.OrganisationId != null)
                {
                    // update orgnisation details
                    UpdateOrganisationTypeDetails updateRequest = new UpdateOrganisationTypeDetails(
                        model.OrganisationId.Value,
                        OrganisationType.Partnership,
                        string.Empty,
                        model.BusinessTradingName,
                        String.Empty);

                    Guid organisationId = await client.SendAsync(User.GetAccessToken(), updateRequest);
                    return RedirectToAction("MainContactPerson", new { organisationId });
                }

                CreatePartnershipRequest request = new CreatePartnershipRequest
                {
                    TradingName = model.BusinessTradingName
                };
                //create the organisation only if does not exist
                Guid orgId = await client.SendAsync(User.GetAccessToken(), request);
                return RedirectToAction("MainContactPerson", new { organisationId = orgId });
            }
        }