Reactivate cuando la linea esté suspendida
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
})
|
||||
})
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user