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>> {
|
public activate(activationData: ActivationData): () => Promise<Result<string, boolean>> {
|
||||||
const OPERATION_URL = "/actions/activateLine"
|
const OPERATION_URL = "/actions/activateLine"
|
||||||
return async () => {
|
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, {
|
const req = this.httpClient.client.post(OPERATION_URL, {
|
||||||
dueDate: activationData.dueDate,
|
dueDate: activationData.dueDate,
|
||||||
identifier: activationData.identifier,
|
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 { ObjeniousOperationsRepository } from "./ObjeniousOperationRepository.js";
|
||||||
import { httpObjClient, postgresClient } from "../config/config.test.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", () => {
|
describe("[Integration] Test API requests", () => {
|
||||||
const repository = new ObjeniousOperationsRepository(
|
const repository = new ObjeniousOperationsRepository(
|
||||||
@@ -8,7 +22,18 @@ describe("[Integration] Test API requests", () => {
|
|||||||
postgresClient
|
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) {
|
async getLastOperationOfLine(iccid: string) {
|
||||||
const query = `
|
const query = `
|
||||||
SELECT * FROM public.objenious_operation
|
SELECT * FROM public.objenious_operation
|
||||||
WHERE iccids = $1
|
WHERE iccids = $1 and error is null
|
||||||
ORDER BY id asc limit 1
|
ORDER BY id asc limit 1
|
||||||
`
|
`
|
||||||
const values = [iccid];
|
const values = [iccid];
|
||||||
|
|||||||
Reference in New Issue
Block a user