import { AggregateRepository } from "../AggregateRepository";

import { Test, TestDetail } from "./Test";

import { CreateTest, RenameTest, ChangeStatusTest } from "./TestCommand"; 

export default class TestService {
  constructor(private repository: AggregateRepository<Test>) {}
  public async createTest(testDetail: TestDetail) { 
    return await this.repository.save(new CreateTest(testDetail));
  }
  public async renameTest(id: string, name: string) { 
    return await this.repository.update(new RenameTest(id, name)); 
  }
  public async changeStatus(id: string, status: number) {
    return await this.repository.update(new ChangeStatusTest(id, status))
  }
  public async find(id) { 
    return await this.repository.find(id); 
  }
}
