Skip to content

Commit

Permalink
Merge branch 'develop' into test/CXSPA-8270
Browse files Browse the repository at this point in the history
  • Loading branch information
Uli-Tiger authored Oct 18, 2024
2 parents 17d602a + 96d44a9 commit 6d79282
Show file tree
Hide file tree
Showing 32 changed files with 1,112 additions and 138 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<!-- TODO: (CXSPA-5953) Remove feature flags next major -->
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@
>{{ 'savedCartDialog.savedCartName' | cxTranslate }}
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,12 @@
<ng-container *ngIf="countries$ | async as countries">
<div *ngIf="countries.length !== 0">
<label>
<span class="label-content required">{{
'addressForm.country' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.country' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<ng-select
[inputAttrs]="{ required: 'true' }"
[searchable]="true"
Expand Down Expand Up @@ -346,9 +349,12 @@
</div>
<div class="form-group">
<label>
<span class="label-content required">{{
'addressForm.firstName.label' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.firstName.label' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<input
required="true"
class="form-control"
Expand Down Expand Up @@ -376,9 +382,12 @@
</div>
<div class="form-group">
<label>
<span class="label-content required">{{
'addressForm.lastName.label' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.lastName.label' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<input
required="true"
type="text"
Expand Down Expand Up @@ -406,9 +415,12 @@
</div>
<div class="form-group">
<label>
<span class="label-content required">{{
'addressForm.address1' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.address1' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<input
required="true"
type="text"
Expand Down Expand Up @@ -450,9 +462,12 @@
<div class="row">
<div class="form-group col-md-6">
<label>
<span class="label-content required">{{
'addressForm.city.label' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.city.label' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<input
required="true"
type="text"
Expand Down Expand Up @@ -480,9 +495,12 @@
</div>
<div class="form-group col-md-6">
<label>
<span class="label-content required">{{
'addressForm.zipCode.label' | cxTranslate
}}</span>
<span class="label-content required">
{{ 'addressForm.zipCode.label' | cxTranslate }}
<ng-template
[ngTemplateOutlet]="requiredAsterisk"
></ng-template>
</span>
<input
required="true"
type="text"
Expand Down Expand Up @@ -599,7 +617,9 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
aria-hidden="true"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
</a>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Component, Input, Pipe, PipeTransform } from '@angular/core';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import {
FeatureConfigService,
I18nTestingModule,
ImageType,
Product,
Expand Down Expand Up @@ -64,6 +65,7 @@ describe('ConfiguratorOverviewBundleAttributeComponent', () => {
let component: ConfiguratorOverviewBundleAttributeComponent;
let fixture: ComponentFixture<ConfiguratorOverviewBundleAttributeComponent>;
let htmlElem: HTMLElement;
let featureConfigService: FeatureConfigService;

beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
Expand All @@ -73,7 +75,10 @@ describe('ConfiguratorOverviewBundleAttributeComponent', () => {
MockConfiguratorPriceComponent,
MockNumericPipe,
],
providers: [{ provide: ProductService, useClass: MockProductService }],
providers: [
{ provide: ProductService, useClass: MockProductService },
FeatureConfigService,
],
}).compileComponents();
}));

Expand All @@ -83,6 +88,7 @@ describe('ConfiguratorOverviewBundleAttributeComponent', () => {
);
component = fixture.componentInstance;
htmlElem = fixture.nativeElement;
featureConfigService = TestBed.inject(FeatureConfigService);
});

beforeEach(() => {
Expand Down Expand Up @@ -142,6 +148,8 @@ describe('ConfiguratorOverviewBundleAttributeComponent', () => {

describe('product image', () => {
it('should be visible if primary', () => {
spyOn(featureConfigService, 'isEnabled').and.returnValue(true);

product$.next(mockProduct);

fixture.detectChanges();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@

<form (ngSubmit)="onSubmit()" [formGroup]="form">
<!-- TODO: (CXSPA-5953) Remove feature flags next major -->
<p *cxFeature="'a11yRequiredAsterisks'" class="form-legend">
{{ 'formLegend.required' | cxTranslate }}
</p>
<label>
<span class="label-content">
{{ 'loginForm.emailAddress.label' | cxTranslate }}
<ng-template [ngTemplateOutlet]="requiredAsterisk"></ng-template>
</span>
<input
required="true"
Expand Down Expand Up @@ -32,6 +36,7 @@
<label>
<span class="label-content">
{{ 'loginForm.password.label' | cxTranslate }}
<ng-template [ngTemplateOutlet]="requiredAsterisk"></ng-template>
</span>
<input
required="true"
Expand Down Expand Up @@ -75,6 +80,7 @@
<abbr
*cxFeature="'a11yRequiredAsterisks'"
class="text-decoration-none"
aria-hidden="true"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
<cx-spinner class="overlay" *ngIf="isUpdating$ | async"> </cx-spinner>
<!-- TODO: (CXSPA-5953) Remove feature flags next major -->
<p *cxFeature="'a11yRequiredAsterisks'" class="form-legend">
{{ 'formLegend.required' | cxTranslate }}
</p>
<form (ngSubmit)="onSubmit()" [formGroup]="form">
<label>
<span class="label-content"
>{{ 'forgottenPassword.emailAddress.label' | cxTranslate }}
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
>
</span>
<input
required="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
<ng-template #requiredAsterisk>
<abbr
*cxFeature="'a11yRequiredAsterisks'"
aria-hidden="true"
class="text-decoration-none"
title="{{ 'common.required' | cxTranslate }}"
>*</abbr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,35 @@ export interface FeatureTogglesInterface {
* in the future together with this feature toggle.
*/
allPageMetaResolversEnabledInCsr?: boolean;

/**
* When enabled, allows to provide extended formats and media queries for <picture> element if used in MediaComponent.
*
* Important: After activation default HTML element in MediaComponent will be `<img>`
* Only BannerComponent has passed `'picture'` value. If you need to use `<picture>` HTML element
* you need to pass `[elementType]="'picture'"` to `<cx-media>`
*
* For proper work requires `pictureElementFormats` provided in media config:
* ```ts
* provideConfig({
* pictureElementFormats: {
* mediaQueries: {
* 'max-width': '767px',
* ...
* },
* width: 50,
* height: 50,
* },
* })
* ```
*
* After activating this toggle, new inputs in `MediaComponent` — specifically
* `width`, `height`, and `sizes` — will be passed to the template as HTML attributes.
*
* Toggle activates `@Input() elementType: 'img' | 'picture' = 'img'` in `MediaComponent`
*
*/
useExtendedMediaComponentConfiguration?: boolean;
}

export const defaultFeatureToggles: Required<FeatureTogglesInterface> = {
Expand Down Expand Up @@ -738,4 +767,5 @@ export const defaultFeatureToggles: Required<FeatureTogglesInterface> = {
enableConsecutiveCharactersPasswordRequirement: false,
enablePasswordsCannotMatchInPasswordUpdateForm: false,
allPageMetaResolversEnabledInCsr: false,
useExtendedMediaComponentConfiguration: false,
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@
* SPDX-License-Identifier: Apache-2.0
*/

import { assertAddressForm } from './address-book';
import { login } from './auth-forms';
import * as guestCheckout from './checkout-as-guest';
import * as checkout from './checkout-flow';
import { validateUpdateProfileForm } from './update-profile';
import { getSampleUser } from '../sample-data/checkout-flow';
import {
cartWithMultipleVariantProducts,
cartWithTotalVariantProduct,
multiDBaseProduct,
multiDProduct,
} from '../sample-data/multi-dimensional-flow';
import { getSampleUser } from '../sample-data/checkout-flow';
import { searchForProduct } from './product-search';
import { assertAddressForm } from './address-book';
import { addProductToCart } from './applied-promotions';
import { login } from './auth-forms';
import * as guestCheckout from './checkout-as-guest';
import * as checkout from './checkout-flow';
import { searchForProduct } from './product-search';
import { validateUpdateProfileForm } from './update-profile';

export function testCheckoutMultiDAsGuest() {
it('should perform checkout as guest, create an account and verify guest data', () => {
Expand Down Expand Up @@ -160,9 +160,19 @@ export function testCheckoutMultiDAsGuestAndVerifyCart() {
cy.findByText(/Sign in \/ Register/i).click();
cy.wait(`@${loginPage}`).its('response.statusCode').should('eq', 200);

cy.intercept(
'GET',
`${Cypress.env('OCC_PREFIX')}/${Cypress.env(
'BASE_SITE'
)}/users/current/carts?fields*`
).as('carts');

login(multiDUser.email, multiDUser.password);

cy.get('cx-login div.cx-login-greet').should('exist');

cy.wait('@carts').its('response.statusCode').should('eq', 200);

cy.get('cx-mini-cart .count').contains('1');

const cartPage = checkout.waitForPage('/cart', 'getCartPage');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ export function navigateToPDPInCustomerInterest(productCode: string) {
cy.get('.cx-product-interests-product-item').within(() => {
cy.get('.cx-code').should('contain', productCode);
cy.get(
'.cx-product-interests-product-image-link > .is-initialized > picture'
'.cx-product-interests-product-image-link > .is-initialized > img'
).click();
});
}
Expand Down
Loading

0 comments on commit 6d79282

Please sign in to comment.