public async Task CreateSoleTraderRequestHandler_HappyPath_CreatesPartnershipAndApprovedOrganisationUser()
        {
            var context = GetPreparedContext();
            var userContext = GetPreparedUserContext();

            const string TradingName = "Some trading name";

            var handler = new CreateSoleTraderRequestHandler(permissiveAuthorization, context, userContext);
            await handler.HandleAsync(new CreateSoleTraderRequest { TradingName = TradingName });

            DoSharedAssertions(TradingName);
            Assert.Equal(OrganisationType.SoleTraderOrIndividual, addedOrganisation.OrganisationType);
        }
        public async Task CreateSoleTraderRequestHandler_HappyPath_CreatesPartnershipAndApprovedOrganisationUser()
        {
            var context     = GetPreparedContext();
            var userContext = GetPreparedUserContext();

            const string BusinessName = "Some business name";
            const string TradingName  = "Some trading name";

            var handler = new CreateSoleTraderRequestHandler(permissiveAuthorization, context, userContext);
            await handler.HandleAsync(new CreateSoleTraderRequest { BusinessName = BusinessName, TradingName = TradingName });

            DoSharedAssertions(TradingName);
            Assert.Equal(OrganisationType.SoleTraderOrIndividual, addedOrganisation.OrganisationType);
            Assert.Equal(BusinessName, addedOrganisation.Name);
            Assert.Equal(BusinessName, addedOrganisation.OrganisationName);
        }
        public async Task CreateSoleTraderRequestHandler_NotExternalUser_ThrowsSecurityException()
        {
            var handler = new CreateSoleTraderRequestHandler(denyingAuthorization, A.Dummy <WeeeContext>(), A.Dummy <IUserContext>());

            await Assert.ThrowsAsync <SecurityException>(async() => await handler.HandleAsync(A.Dummy <CreateSoleTraderRequest>()));
        }
        public async Task CreateSoleTraderRequestHandler_NotExternalUser_ThrowsSecurityException()
        {
            var handler = new CreateSoleTraderRequestHandler(denyingAuthorization, A.Dummy<WeeeContext>(), A.Dummy<IUserContext>());

            await Assert.ThrowsAsync<SecurityException>(async () => await handler.HandleAsync(A.Dummy<CreateSoleTraderRequest>()));
        }