def test_set_get_middleware_theme(rf): request = rf.get("/") default_shop = get_default_shop() shop1 = Shop.objects.create(identifier="shop1", domain="shop-1") shop2 = Shop.objects.create(identifier="shop2", domain="shop-test-2") # theme settings should be for the default shop and ClassicGray (conftest.py) request.shop = default_shop XthemeMiddleware().process_request(request) assert get_middleware_current_theme( ).identifier == ClassicGrayTheme.identifier assert get_middleware_current_theme( ).settings_obj.shop.id == default_shop.id # theme settings should be none, as there is no Active theme for this shop request.shop = shop1 XthemeMiddleware().process_request(request) assert get_middleware_current_theme() is None # theme settings should be none, as there is no Active theme for this shop request.shop = shop2 XthemeMiddleware().process_request(request) assert get_middleware_current_theme() is None # manually set the theme theme_settings_shop2 = ThemeSettings.objects.create( theme_identifier=FauxTheme2.identifier, shop=shop2) set_middleware_current_theme(FauxTheme2(theme_settings_shop2)) assert get_middleware_current_theme().identifier == FauxTheme2.identifier assert get_middleware_current_theme().settings_obj.shop.id == shop2.id
def test_set_get_middleware_theme(rf): request = rf.get("/") default_shop = get_default_shop() shop1 = Shop.objects.create(identifier="shop1", domain="shop-1") shop2 = Shop.objects.create(identifier="shop2", domain="shop-test-2") # theme settings should be for the default shop and ClassicGray (conftest.py) request.shop = default_shop XthemeMiddleware().process_request(request) assert get_middleware_current_theme().identifier == ClassicGrayTheme.identifier assert get_middleware_current_theme().settings_obj.shop.id == default_shop.id # theme settings should be none, as there is no Active theme for this shop request.shop = shop1 XthemeMiddleware().process_request(request) assert get_middleware_current_theme() is None # theme settings should be none, as there is no Active theme for this shop request.shop = shop2 XthemeMiddleware().process_request(request) assert get_middleware_current_theme() is None # manually set the theme theme_settings_shop2 = ThemeSettings.objects.create(theme_identifier=FauxTheme2.identifier, shop=shop2) set_middleware_current_theme(FauxTheme2(theme_settings_shop2)) assert get_middleware_current_theme().identifier == FauxTheme2.identifier assert get_middleware_current_theme().settings_obj.shop.id == shop2.id