public ContactUsControllerTest()
        {
            _mockEmailClient = new Mock <IHttpEmailClient>();
            _mockLogger      = new Mock <ILogger <ContactUsController> >();
            _configuration   = new Mock <IApplicationConfiguration>();

            _configuration.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("businessid:Email:EmailFrom"));

            _businessId = new BusinessId("businessid");

            _contactUsId = new ContactUsId("name", "slug", "email", "test button text", "test return url");

            _repository.Setup(o => o.Get <ContactUsId>(It.IsAny <string>(), It.IsAny <List <Query> >()))
            .ReturnsAsync(HttpResponse.Successful(200, _contactUsId));

            _controller          = new ContactUsController(_repository.Object, _mockEmailClient.Object, _mockLogger.Object, _configuration.Object, _businessId);
            _validContactDetails = new ContactUsDetails(_userName, _userEmail, _emailSubject,
                                                        _emailBody, _serviceEmails, _title);

            var request          = new Mock <HttpRequest>();
            var context          = new Mock <HttpContext>();
            var headerDictionary = new HeaderDictionary {
                { "referer", _url }
            };

            request.Setup(r => r.Headers).Returns(headerDictionary);
            context.Setup(c => c.Request).Returns(request.Object);
            _controller.ControllerContext = new ControllerContext(new ActionContext(context.Object, new RouteData(), new ControllerActionDescriptor()));
        }
        public void ShouldBuildEmailConfiguration()
        {
            const string businessId         = "businessId";
            var          hostSetting        = AppSetting.GetAppSetting("host");
            var          regionSetting      = AppSetting.GetAppSetting("region");
            var          emailFromSetting   = AppSetting.GetAppSetting("emailFrom");
            const string awsAccessKeyId     = "accessKey";
            const string awsSecretAccessKey = "secretKey";

            var amazonSESKeys = new AmazonSESKeys(awsAccessKeyId, awsSecretAccessKey);
            var appsettings   = new Mock <IApplicationConfiguration>();

            appsettings.Setup(o => o.GetEmailHost(businessId)).Returns(hostSetting);
            appsettings.Setup(o => o.GetEmailRegion(businessId)).Returns(regionSetting);
            appsettings.Setup(o => o.GetEmailEmailFrom(businessId)).Returns(emailFromSetting);

            var emailConfigurationBuilder = new EmailConfigurationBuilder(amazonSESKeys, appsettings.Object);

            var emailConfig = emailConfigurationBuilder.Build(businessId);

            emailConfig.Host.Should().Be(hostSetting.ToString());
            emailConfig.Region.Should().Be(regionSetting.ToString());
            emailConfig.AwsAccessKeyId.Should().Be(awsAccessKeyId);
            emailConfig.AwsSecretAccessKey.Should().Be(awsSecretAccessKey);
            emailConfig.EmailFrom.Should().Be(emailFromSetting.ToString());
        }
示例#3
0
        public GroupControllerTest()
        {
            _filteredUrl = new Mock <IFilteredUrl>();
            _logger      = new Mock <ILogger <GroupsController> >();

            var emailLogger      = new Mock <ILogger <GroupEmailBuilder> >();
            var eventEmailLogger = new Mock <ILogger <EventEmailBuilder> >();
            var emailClient      = new Mock <IHttpEmailClient>();
            var emailConfig      = new Mock <IApplicationConfiguration>();

            emailConfig.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("GroupSubmissionEmail"));

            _groupEmailBuilder = new Mock <GroupEmailBuilder>(emailLogger.Object, emailClient.Object, emailConfig.Object, new BusinessId("BusinessId"));
            _eventEmailBuilder = new Mock <EventEmailBuilder>(eventEmailLogger.Object, emailClient.Object, emailConfig.Object, new BusinessId("BusinessId"));

            var mockTime   = new Mock <ITimeProvider>();
            var viewHelper = new ViewHelpers(mockTime.Object);

            datetimeCalculator = new DateCalculator(mockTime.Object);

            http = new Mock <IHttpContextAccessor>();

            var cookies = new FakeCookie(true);

            http.Setup(_ => _.HttpContext.Request.Cookies).Returns(cookies);

            _groupController = new GroupsController(_processedRepository.Object, _repository.Object, _groupEmailBuilder.Object, _eventEmailBuilder.Object, _filteredUrl.Object, _logger.Object, _configuration.Object, _markdownWrapper.Object, viewHelper, datetimeCalculator, _loggedInHelper.Object, _groupsService.Object, _cookiesHelper.Object, new StockportWebapp.FeatureToggling.FeatureToggles());

            // setup mocks
            _groupsService.Setup(o => o.GetGroupCategories()).ReturnsAsync(groupCategories);
            _groupsService.Setup(o => o.GetGroupHomepage()).ReturnsAsync(groupHomepage);
            _groupsService.Setup(o => o.GetAvailableGroupCategories()).ReturnsAsync(new List <string>());
            _groupsService.Setup(o => o.GetErrorsFromModelState(It.IsAny <ModelStateDictionary>())).Returns("");
        }
示例#4
0
        public void GetAppSettingTest()
        {
            AppSetting appSeeting = new AppSetting();
            string     sample     = appSeeting.GetAppSetting("Sample");

            Assert.Equals(sample, "Sample");
        }
示例#5
0
        public void GetAppSettingTest1()
        {
            AppSetting appSeeting = new AppSetting();
            string     test       = appSeeting.GetAppSetting("Test");

            Assert.Equals(test, "test");
            Assert.Fail();
        }
        public async Task ShouldRedierctToApplicationErrorIfPostCodeUrlConfigurationIsMissing()
        {
            var postCodeSearchSetting = AppSetting.GetAppSetting(null);

            _config.Setup(o => o.GetPostcodeSearchUrl(_businessId)).Returns(postCodeSearchSetting);

            var result = await _searchController.Postcode("a-postcode") as StatusCodeResult;

            result.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
示例#7
0
        public TopicControllerTest()
        {
            var config = new Mock <IApplicationConfiguration>();

            config.Setup(o => o.GetEmailAlertsNewSubscriberUrl(BusinessId)).Returns(AppSetting.GetAppSetting("email-alerts-url"));

            _repository  = new Mock <IRepository>();
            _controller  = new TopicController(_repository.Object, config.Object, new BusinessId(BusinessId));
            _eventBanner = new EventBanner("title", "teaser", "icon", "link");
        }
        public EventEmailBuilderTests()
        {
            _logger      = new Mock <ILogger <EventEmailBuilder> >();
            _emailClient = new Mock <IHttpEmailClient>();
            var applicationConfiguration = new Mock <IApplicationConfiguration>();

            applicationConfiguration.Setup(a => a.GetEventSubmissionEmail(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("EventSubmissionEmail"));
            applicationConfiguration.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("EventSubmissionEmail"));

            _eventEmailBuilder = new EventEmailBuilder(_logger.Object, _emailClient.Object, applicationConfiguration.Object, new BusinessId("businessId"));
        }
        public void ShouldReturnInvalidIfAPropertyIsNotValid(string host, string region, string accessKey, string secretKey, string emailFrom)
        {
            var hostSetting      = AppSetting.GetAppSetting(host);
            var regionSetting    = AppSetting.GetAppSetting(region);
            var awsKeys          = new AmazonSESKeys(accessKey, secretKey);
            var emailFromSetting = AppSetting.GetAppSetting(emailFrom);

            var amazonSesClientConfig = new AmazonSesClientConfiguration(hostSetting, regionSetting, emailFromSetting, awsKeys);

            var isValid = amazonSesClientConfig.IsValid();

            isValid.Should().BeFalse();
        }
示例#10
0
        public FrameDataForm()
        {
            InitializeComponent();
            // We will create new AppSetting.txt if this file doesnot exist.
            AppSetting.CheckAndCreateIfHaveNoAppSetting();
            JObject settObj = AppSetting.GetAppSetting();

            LMSingleton.Instance.compareDownPercent = (float)settObj[AppSetting.settingKeyCompareDownPercent];
            LMSingleton.Instance.compareTopPercent  = (float)settObj[AppSetting.settingKeyCompareTopPercent];

            LMSingleton.Instance.currentForm = LMSingleton.FormName.Training;

            float cDownPercent = LMSingleton.Instance.compareDownPercent;
            float cTopPercent  = LMSingleton.Instance.compareTopPercent;

            dictHumanSign   = new Dictionary <string, Model.LMFrame>();
            this.controller = new Controller();
            this.listener   = new LeapEventListener(this);
            controller.AddListener(listener);
            mCaptureStatus = CaptureStatus.PreviewSign;
            updateUIByCaptureStatus();
            Debug.WriteLine("Load Done");

            mTrain = new TrainModule();


            string[] signFolders = FileHelper.CheckSignFolders();
            // We will create alphabet folders if there is no folder found.
            if (signFolders.Length == 0)
            {
                FileHelper.createABCFolderForFirstTime();

                signFolders = FileHelper.CheckSignFolders();
            }
            LMSingleton.Instance.signFolders = signFolders;

            for (int i = 0; i < signFolders.Length; i++)
            {
                TreeNode node = new TreeNode(signFolders[i]);
                trvHumanSign.Nodes.Add(node);
            }

            reloadListHumanSign();

            trvHumanSign.SelectedNode = trvHumanSign.Nodes[0];
            choosedSign         = clearNodeName(trvHumanSign.SelectedNode.Text);
            lbSelectedSign.Text = "Selected Gesture :" + choosedSign;

            initView();
        }
        public async Task ItRedirectsToPostcodeSearchUrl()
        {
            var postcodeSearchSetting = AppSetting.GetAppSetting(PostcodeUrl);

            _config.Setup(o => o.GetPostcodeSearchUrl(_businessId)).Returns(postcodeSearchSetting);

            var postcode = "m45 3fz";
            var result   = await _searchController.Postcode(postcode);

            result.Should().BeOfType <RedirectResult>();

            _config.Verify(o => o.GetPostcodeSearchUrl(_businessId), Times.Once);
            var redirect = result as RedirectResult;

            redirect.Url.Should().Be(PostcodeUrl + postcode);
        }
        public NewsControllerTest()
        {
            _newsRoom = new Newsroom(_listOfNewsItems, new OrderedList <Alert>(), EmailAlertsOn, EmailAlertsTopicId,
                                     new List <string>(), new List <DateTime>());
            _emptyNewsRoom = new Newsroom(new List <News>(), new OrderedList <Alert>(), EmailAlertsOn, EmailAlertsTopicId,
                                          new List <string>(), new List <DateTime>());

            // setup responses (with mock data)
            var responseListing     = new HttpResponse(200, _newsRoom, "");
            var responseDetail      = new HttpResponse(200, _processedNewsArticle, "");
            var emptyResponsListing = new HttpResponse(200, _emptyNewsRoom, "");

            // setup mocks
            _repository.Setup(o => o.Get <Newsroom>(It.IsAny <string>(), It.Is <List <Query> >(l => l.Count == 0)))
            .ReturnsAsync(responseListing);

            _repository.Setup(o => o.GetLatest <List <News> >(7))
            .ReturnsAsync(HttpResponse.Successful(200, _listOfNewsItems));

            _processedContentRepository.Setup(o => o.Get <News>("another-news-article", null))
            .ReturnsAsync(responseDetail);

            _logger = new Mock <ILogger <NewsController> >();

            _mockRssFeedFactory = new Mock <IRssFeedFactory>();
            _mockRssFeedFactory.Setup(
                o => o.BuildRssFeed(It.IsAny <List <News> >(), It.IsAny <string>(), It.IsAny <string>())).Returns("rss fun");

            _config      = new Mock <IApplicationConfiguration>();
            _filteredUrl = new Mock <IFilteredUrl>();

            _config.Setup(o => o.GetRssEmail(BusinessId)).Returns(AppSetting.GetAppSetting("rss-email"));
            _config.Setup(o => o.GetEmailAlertsNewSubscriberUrl(BusinessId))
            .Returns(AppSetting.GetAppSetting("email-alerts-url"));

            _controller = new NewsController(
                _repository.Object,
                _processedContentRepository.Object,
                _mockRssFeedFactory.Object,
                _logger.Object,
                _config.Object,
                new BusinessId(BusinessId),
                _filteredUrl.Object
                );
        }
        public async Task ShouldReturnTheAddThisShareId()
        {
            var businessId      = "businessID";
            var sharedIdSetting = AppSetting.GetAppSetting("an id");
            var config          = new Mock <IApplicationConfiguration>();

            config.Setup(o => o.GetAddThisShareId(businessId)).Returns(sharedIdSetting);

            var addThisViewComponent = new AddThisViewComponent(config.Object, new BusinessId(businessId));

            var result = await addThisViewComponent.InvokeAsync() as ViewViewComponentResult;

            result.ViewData.Model.Should().BeOfType <AppSetting>();

            var setting = result.ViewData.Model as AppSetting;

            setting.Should().Be(sharedIdSetting);
        }
        public async Task ShouldReturnGoogleAnalyticsId()
        {
            const string businessId          = "businessID";
            var          googleAnalyticsCode = AppSetting.GetAppSetting("a code");

            var config = new Mock <IApplicationConfiguration>();

            config.Setup(o => o.GetGoogleAnalyticsCode(businessId)).Returns(googleAnalyticsCode);

            var googleAnalyticsViewComponent = new GoogleAnalyticsViewComponent(config.Object, new BusinessId(businessId));

            var view = await googleAnalyticsViewComponent.InvokeAsync() as ViewViewComponentResult;

            config.Verify(o => o.GetGoogleAnalyticsCode(businessId), Times.Once);
            var model = view.ViewData.Model as AppSetting;

            model.Should().Be(googleAnalyticsCode);
        }
        public void ShouldCreateAnAmazonSESClientConfiguration()
        {
            var host             = "a-host.com";
            var region           = "region";
            var accessKey        = "accessKey";
            var secretKey        = "secretKey";
            var emailFrom        = "*****@*****.**";
            var hostSetting      = AppSetting.GetAppSetting(host);
            var regionSetting    = AppSetting.GetAppSetting(region);
            var awsKeys          = new AmazonSESKeys(accessKey, secretKey);
            var emailFromSetting = AppSetting.GetAppSetting(emailFrom);

            var amazonSesClientConfig = new AmazonSesClientConfiguration(hostSetting, regionSetting, emailFromSetting, awsKeys);

            amazonSesClientConfig.Host.Should().Be(host);
            amazonSesClientConfig.Endpoint.Should().Be($"https://{host}");
            amazonSesClientConfig.Region.Should().Be(region);
            amazonSesClientConfig.EmailFrom.Should().Be(emailFrom);
            amazonSesClientConfig.AwsAccessKeyId.Should().Be(accessKey);
            amazonSesClientConfig.AwsSecretAccessKey.Should().Be(secretKey);

            amazonSesClientConfig.IsValid().Should().BeTrue();
        }
        public EventsControllerTest()
        {
            _eventsItem = new Event {
                Title    = "title", Slug = "slug", Teaser = "teaser", ImageUrl = "image.png", ThumbnailImageUrl = "image.png", Description = "description", Fee = "fee",
                Location = "location", SubmittedBy = "submittedBy", EventDate = new DateTime(2016, 12, 30, 00, 00, 00), StartTime = "startTime", EndTime = "endTime", Breadcrumbs = new List <Crumb>(), Group = _group, Alerts = _alerts
            };
            _categories = new List <string> {
                "Category 1", "Category 2"
            };

            var mockTime = new Mock <ITimeProvider>();

            _datetimeCalculator = new DateCalculator(mockTime.Object);

            var eventsCalendar = new EventResponse(new List <Event> {
                _eventsItem
            }, _categories);
            var eventItem = new ProcessedEvents("title", "slug", "teaser", "image.png", "image.png", "description",
                                                "fee", "location", "submittedBy", new DateTime(2016, 12, 30, 00, 00, 00), "startTime", "endTime",
                                                new List <Crumb>(), _categories, new MapDetails(), "booking information", _group, _alerts, string.Empty, string.Empty);

            var eventHomepage = new EventHomepage {
                Categories = new List <EventCategory>(), Rows = new List <EventHomepageRow>()
            };

            // setup responses (with mock data)
            responseListing = new HttpResponse(200, eventsCalendar, "");
            _responseDetail = new HttpResponse(200, eventItem, "");
            var responseHomepage = new HttpResponse(200, eventHomepage, "");
            var response404      = new HttpResponse(404, null, "not found");

            // setup mocks
            _repository.Setup(o => o.Get <EventHomepage>(It.IsAny <string>(), It.IsAny <List <Query> >()))
            .ReturnsAsync(responseHomepage);

            _repository.Setup(o => o.Get <EventResponse>(It.IsAny <string>(), It.IsAny <List <Query> >()))
            .ReturnsAsync(responseListing);

            _processedContentRepository.Setup(o => o.Get <Event>("event-of-the-century", It.Is <List <Query> >(l => l.Count == 0)))
            .ReturnsAsync(_responseDetail);

            _processedContentRepository.Setup(o => o.Get <Event>("404-event", It.Is <List <Query> >(l => l.Count == 0)))
            .ReturnsAsync(response404);

            _emailClient = new Mock <IHttpEmailClient>();
            _applicationConfiguration = new Mock <IApplicationConfiguration>();
            _logger      = new Mock <ILogger <EventsController> >();
            _emaillogger = new Mock <ILogger <EventEmailBuilder> >();

            _applicationConfiguration.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("GroupSubmissionEmail"));

            _eventEmailBuilder = new EventEmailBuilder(_emaillogger.Object, _emailClient.Object, _applicationConfiguration.Object, new BusinessId("businessId"));

            _mockRssFeedFactory = new Mock <IRssFeedFactory>();
            _config             = new Mock <IApplicationConfiguration>();
            _filteredUrl        = new Mock <IFilteredUrl>();

            _config.Setup(o => o.GetRssEmail(BusinessId)).Returns(AppSetting.GetAppSetting("rss-email"));
            _config.Setup(o => o.GetEmailAlertsNewSubscriberUrl(BusinessId)).Returns(AppSetting.GetAppSetting("email-alerts-url"));

            _controller = new EventsController(
                _repository.Object,
                _processedContentRepository.Object,
                _eventEmailBuilder,
                _mockRssFeedFactory.Object,
                _logger.Object,
                _config.Object,
                new BusinessId(BusinessId),
                _filteredUrl.Object,
                null,
                null,
                _datetimeCalculator,
                null
                );
        }
        public async void ItShouldSendAnEmailAndReturnAStatusCodeOf200()
        {
            _emailClient.Setup(e => e.SendEmailToService(It.Is <EmailMessage>(message => message.ToEmail == AppSetting.GetAppSetting("GroupSubmissionEmail").ToString()))).ReturnsAsync(HttpStatusCode.OK);

            var groupSubmission = new GroupSubmission()
            {
                Address        = "Address",
                Categories     = new List <string>(),
                Name           = "Group",
                Email          = "email",
                PhoneNumber    = "phone",
                Website        = "http://www.group.org",
                Description    = "Description",
                CategoriesList = "Category"
            };
            var response = await _groupEmailBuilder.SendEmailAddNew(groupSubmission);

            response.Should().Be(HttpStatusCode.OK);
        }
示例#18
0
 public GroupsServiceTests()
 {
     _service = new GroupsService(_mockContentApiRepository.Object, _mockProcessedContentRepository.Object, _mockEmailClient.Object, _mockApplicationConfiguration.Object, _mockLogger.Object, _mockStockportApiRepository.Object, businessId);
     _mockApplicationConfiguration.Setup(_ => _.GetEmailEmailFrom("stockportgov")).Returns(() => AppSetting.GetAppSetting("test"));
 }
示例#19
0
 public ReCaptchaValidationTests()
 {
     _httpClient = new Mock <IHttpClient>();
     _config.Setup(x => x.GetReCaptchaKey()).Returns(AppSetting.GetAppSetting("recaptchakey"));
 }
        public async void ItShouldSendAnEmailAndReturnAStatusCodeOf200()
        {
            _emailClient.Setup(e => e.SendEmailToService(It.Is <EmailMessage>(message => message.ToEmail == AppSetting.GetAppSetting("EventSubmissionEmail").ToString()))).ReturnsAsync(HttpStatusCode.OK);

            var response = await _eventEmailBuilder.SendEmailAddNew(new EventSubmission()
            {
                EventDate = new DateTime(2017, 9, 9)
            });

            response.Should().Be(HttpStatusCode.OK);
        }
 private void WeixinApiDebuger_OnLoaded(object sender, RoutedEventArgs e)
 {
     AppId     = AppSetting.GetAppSetting().Appid;
     AppSecret = AppSetting.GetAppSetting().AppSecret;
 }