Reactivate cuando la linea esté suspendida

This commit is contained in:
2026-04-15 12:47:26 +02:00
parent e359acc1d5
commit 33d260310c
3 changed files with 38 additions and 3 deletions

View File

@@ -116,6 +116,16 @@ export class SimUseCases {
public activate(activationData: ActivationData): () => Promise<Result<string, boolean>> {
const OPERATION_URL = "/actions/activateLine"
return async () => {
const iccid = activationData.identifier.identifiers
// Comporbación excepcional para saber si la linea está suspendida
console.log("statusLinea, ", iccid)
const statusLinea = await this.objeniousRepository.getLinesAPI("ICCID", [String(iccid)])
if (statusLinea.data != undefined && statusLinea.data[0].status.billingStatus == "SUSPENDED") {
const res = await this.reActivate(activationData)()
return res;
}
const req = this.httpClient.client.post(OPERATION_URL, {
dueDate: activationData.dueDate,
identifier: activationData.identifier,

View File

@@ -1,6 +1,20 @@
import { describe, it } from "node:test";
import { before, describe, it } from "node:test";
import { ObjeniousOperationsRepository } from "./ObjeniousOperationRepository.js";
import { httpObjClient, postgresClient } from "../config/config.test.js";
import { ObjeniousOperation } from "../domain/operationsRepository.port.js";
const correctOperation: ObjeniousOperation = {
iccids: "test",
operation: "activate",
status: "finished"
}
const errorOperation: ObjeniousOperation = {
iccids: "test",
operation: "terminate",
status: "error",
error: "mensaje de error"
}
describe("[Integration] Test API requests", () => {
const repository = new ObjeniousOperationsRepository(
@@ -8,7 +22,18 @@ describe("[Integration] Test API requests", () => {
postgresClient
)
it("Read last sucessfull operation by line", () => {
before(async () => {
await repository.createOperation(correctOperation)
await repository.createOperation(errorOperation)
})
it("Read last operation by line", () => {
/**
* Objetivo:
* - Cuando se va a hacer una operacion de sim hay que cancelarla directamente si:
* - Ya hay una en curso del mismo tipo.
* - Ya ha terminado una del mismo tipo.
* - Se ignoran las errorneas
*/
})
})

View File

@@ -150,7 +150,7 @@ export class ObjeniousOperationsRepository implements IOperationsRepository {
async getLastOperationOfLine(iccid: string) {
const query = `
SELECT * FROM public.objenious_operation
WHERE iccids = $1
WHERE iccids = $1 and error is null
ORDER BY id asc limit 1
`
const values = [iccid];