Пример #1
0
        public async Task RendersGATrackingCodeBasedOnUsersPreferences(
            bool?allowAnalyticsCookies,
            bool expectGATagsToBeRendered)
        {
            // Arrange
            Cookies.CookieSettings settings = null;
            if (allowAnalyticsCookies != null)
            {
                settings = new Cookies.CookieSettings()
                {
                    AllowAnalyticsCookies = allowAnalyticsCookies.Value
                };
            }

            CookieSettingsProvider.SetPreferencesForCurrentUser(settings);

            // Act
            var response = await HttpClient.GetAsync($"/tests/empty-provider-context");

            // Assert
            var doc = await response.GetDocument();

            var gotGATags = doc.QuerySelectorAll("script")
                            .Where(s => s.GetAttribute("src")?.StartsWith("https://www.googletagmanager.com") == true)
                            .Any();

            gotGATags.Should().Be(expectGATagsToBeRendered);
        }
Пример #2
0
        public void OnTestStarting()
        {
            DatabaseFixture.OnTestStarting();

            ResetMocks();

            MemoryCache.Clear();

            // Restore HostingOptions values to default
            Settings.RewriteForbiddenToNotFound = false;

            Clock.UtcNow = MutableClock.Start;

            FeatureFlagProvider.Reset();

            MptxStateProvider.Clear();

            Services.GetRequiredService <IStandardsAndFrameworksCache>().Clear();

            CookieSettingsProvider.Reset();

            (Services.GetRequiredService <IUserInstanceStateStore>() as TestUserInstanceStateStore)?.Clear();

            Session.Clear();
        }
Пример #3
0
        public async Task AllCookiesAccepted_RendersConfirmation()
        {
            // Arrange
            CookieSettingsProvider.SetPreferencesForCurrentUser(null);

            // Act
            var response = await HttpClient.PostAsync("cookies/accept-all?returnUrl=/foo", null);

            // Assert
            var doc = await response.GetDocument();

            doc.GetAllElementsByTestId("cookie-banner-confirmation").Should().NotBeNull();
        }
Пример #4
0
        public async Task NoCookiePreferencesSet_RendersCookieBanner()
        {
            // Arrange
            CookieSettingsProvider.SetPreferencesForCurrentUser(null);

            // Act
            var response = await HttpClient.GetAsync($"/tests/empty-provider-context");

            // Assert
            var doc = await response.GetDocument();

            doc.GetAllElementsByTestId("cookie-banner").Should().NotBeNull();
        }
Пример #5
0
        public async Task CookiePreferencesSet_DoesNotRenderCookieBanner(bool allowAnalyticsCookies)
        {
            // Arrange
            CookieSettingsProvider.SetPreferencesForCurrentUser(new Cookies.CookieSettings()
            {
                AllowAnalyticsCookies = allowAnalyticsCookies
            });

            // Act
            var response = await HttpClient.GetAsync($"/tests/empty-provider-context");

            // Assert
            var doc = await response.GetDocument();

            doc.GetElementByTestId("cookie-banner").Should().BeNull();
        }
        public void OnTestStarting()
        {
            DatabaseFixture.OnTestStarting();

            ResetMocks();

            MemoryCache.Clear();

            Clock.UtcNow = MutableClock.Start;

            FeatureFlagProvider.Reset();

            MptxStateProvider.Clear();

            Services.GetRequiredService <IStandardsCache>().Clear();

            CookieSettingsProvider.Reset();

            (Services.GetRequiredService <IUserInstanceStateStore>() as TestUserInstanceStateStore)?.Clear();

            Session.Clear();

            BinaryStorageProvider.SetReturnsDefault(Task.FromResult <IReadOnlyCollection <BlobFileInfo> >(Array.Empty <BlobFileInfo>()));
        }