function it_normalizes_a_metric_into_mongodb_document($mongoFactory, $converter, $manager, Metric $metric, \MongoId $mongoId) { $mongoFactory->createMongoId()->willReturn($mongoId); $metric->getUnit()->willReturn('Kg'); $metric->getData()->willReturn(85); $metric->getFamily()->willReturn('weight'); $converter->setFamily('weight')->willReturn($converter); $converter->convertBaseToStandard('Kg', 85)->willReturn(8500); $manager->getStandardUnitForFamily('weight')->willReturn('g'); $metric->setBaseData(8500)->shouldBeCalled(); $metric->getBaseData()->willReturn(8500); $metric->setBaseUnit('g')->shouldBeCalled(); $metric->getBaseUnit()->willReturn('g'); $this->normalize($metric, 'mongodb_document')->shouldReturn(['_id' => $mongoId, 'family' => 'weight', 'unit' => 'Kg', 'data' => 85, 'baseUnit' => 'g', 'baseData' => 8500]); }