public void ReparentingCostCentreMustUpdateChildren() { //Arrange var ctx = CreateContext(); centres[1].ParentCostCentre = centres[0]; mockCentres .Setup(set => set.Find(It.Is<object[]>(objects => (string)objects[0] == CostCentre1))) .Returns(() => centres[1]); mockCentres .Setup(set => set.Find(It.Is<object[]>(objects => (string) objects[0] == CostCentre5))) .Returns(() => centres[5]); ctx .SetupGet(c => c.CostCentres) .Returns(mockCentres.Object); ctx .SetupGet(c => c.CarbonEmissionEntries) .Returns(mockEntries.Object); var sut = new CostCentreController(ctx.Object); //Act sut.ReParent(CostCentre1, CostCentre5); //Assert Assert.AreEqual(new HierarchyId("/2/2/"), centres[1].Node); Assert.AreEqual(new HierarchyId("/2/2/1/"), centres[2].Node); Assert.AreEqual(new HierarchyId("/2/2/2/"), centres[3].Node); Assert.AreEqual(new HierarchyId("/2/2/2/1/"), centres[4].Node); }
public void ReOrderingAscendinglyMustUpdateChildNodesAsWell() { //Arrange var ctx = CreateContext(); mockCentres .Setup(set => set.Find(It.Is<object[]>(objects => (string)objects[0] == CostCentre0))) .Returns(() => centres[0]); mockCentres .Setup(set => set.Find(It.Is<object[]>(objects => (string)objects[0] == CostCentre7))) .Returns(() => centres[7]); ctx .SetupGet(c => c.CostCentres) .Returns(mockCentres.Object); ctx .SetupGet(c => c.CarbonEmissionEntries) .Returns(mockEntries.Object); var sut = new CostCentreController(ctx.Object); //Act sut.ReOrder(CostCentre7, 1); //Assert Assert.AreEqual(new HierarchyId("/2/"), centres[1].Node); Assert.AreEqual(new HierarchyId("/2/1/"), centres[2].Node); Assert.AreEqual(new HierarchyId("/2/2/"), centres[3].Node); Assert.AreEqual(new HierarchyId("/2/2/1/"), centres[4].Node); Assert.AreEqual(new HierarchyId("/3/"), centres[5].Node); Assert.AreEqual(new HierarchyId("/3/1/"), centres[6].Node); Assert.AreEqual(new HierarchyId("/1/"), centres[7].Node); }
public void NewCostCentreMustUseParentHeirarchyInNode() { //Arrange var ctx = CreateContext(); mockCentres .Setup(set => set.Find(It.Is<object[]>(objects => (string) objects[0] == CostCentre1))) .Returns(() => centres[1]); mockCentres .Setup(set => set.Create()) .Returns(new CostCentre()) .Verifiable(); mockCentres .Setup(set => set.Add(It.Is<CostCentre>(c => c.Node == new HierarchyId("/1/3/")))) .Verifiable(); ctx .SetupGet(c => c.CostCentres) .Returns(mockCentres.Object); var sut = new CostCentreController(ctx.Object); var newCentre = new CostCentreModel { costCode = "new", parentCostCode = CostCentre1, name = "name", color = "FFFFFF", currencyCode = new Select2Model() }; //Act sut.UpsertCostCentre(newCentre); //Assert mockCentres.Verify(); }