feat(checkout): add error handling for expired purchases in checkout process
This commit is contained in:
@@ -367,6 +367,57 @@ describe('CartComponent', () => {
|
||||
expect(editingChange).toHaveBeenLastCalledWith(false);
|
||||
});
|
||||
|
||||
it('emits Modificar as an action without toggling to Listo', async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [CartComponent],
|
||||
providers: [
|
||||
{
|
||||
provide: CartService,
|
||||
useValue: {
|
||||
cart: signal(null).asReadonly(),
|
||||
updateItemQuantity: vi.fn(),
|
||||
removeItem: vi.fn(),
|
||||
},
|
||||
},
|
||||
{ provide: ModalService, useValue: {} },
|
||||
{
|
||||
provide: ToastService,
|
||||
useValue: { success: vi.fn(), info: vi.fn(), danger: vi.fn() },
|
||||
},
|
||||
],
|
||||
}).compileComponents();
|
||||
|
||||
const fixture = TestBed.createComponent(CartComponent);
|
||||
fixture.componentRef.setInput('items', [
|
||||
{
|
||||
cartItemId: 10,
|
||||
imageUrl: null,
|
||||
product: 'Producto de prueba',
|
||||
originalPrice: null,
|
||||
discountedPrice: 1000,
|
||||
discountPercentage: null,
|
||||
attributes: [],
|
||||
quantity: 1,
|
||||
},
|
||||
]);
|
||||
fixture.componentRef.setInput('readonly', true);
|
||||
fixture.componentRef.setInput('showModifyWhenReadonly', true);
|
||||
fixture.componentRef.setInput('modifyAsAction', true);
|
||||
const modify = vi.fn();
|
||||
fixture.componentInstance.modify.subscribe(modify);
|
||||
fixture.detectChanges();
|
||||
|
||||
const modifyButton = fixture.debugElement.query(By.css('.cart-edit-btn'));
|
||||
expect(modifyButton.nativeElement.textContent.trim()).toBe('Modificar');
|
||||
|
||||
modifyButton.nativeElement.click();
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(modify).toHaveBeenCalledOnce();
|
||||
expect(modifyButton.nativeElement.textContent.trim()).toBe('Modificar');
|
||||
expect(fixture.componentInstance.editing()).toBe(false);
|
||||
});
|
||||
|
||||
it('allows editing directly when the optional Modificar toggle is disabled', async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [CartComponent],
|
||||
|
||||
Reference in New Issue
Block a user