package io.delphiplatform.api.v3.model.gras;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import io.delphiplatform.api.v3.rdb.entity.ProfitCenterEntity;
import io.delphiplatform.api.v3.rdb.entity.RepertoireOwnerEntity;

class RepertoireOwnerTest {

    @Test
    void from_nullProfitCenter() {
        RepertoireOwnerEntity entity = new RepertoireOwnerEntity();
        entity.setRepOwnerKey("repKey");
        entity.setProfitCenter(null);
        RepertoireOwner from = RepertoireOwner.from(entity);
        Assertions.assertEquals("repKey", from.getRepOwnerKey());

        Assertions.assertNull(from.getProfitCenterKey());
        Assertions.assertNull(from.getProfitCenterCompany());
    }

    @Test
    void from_nullParentRepertoireOwner() {
        RepertoireOwnerEntity entity = new RepertoireOwnerEntity();
        entity.setRepOwnerKey("repKey");
        ProfitCenterEntity profitCenter = new ProfitCenterEntity();
        profitCenter.setProfitCenterKey("profitCenterKey");
        profitCenter.setParentRepertoireOwner(null);
        entity.setProfitCenter(profitCenter);
        RepertoireOwner from = RepertoireOwner.from(entity);
        Assertions.assertEquals("repKey", from.getRepOwnerKey());
        Assertions.assertEquals("profitCenterKey", from.getProfitCenterKey());

        Assertions.assertNull(from.getParentRepOwnerCompany());
        Assertions.assertNull(from.getParentRepOwnerKey());
    }


}