Exemple #1
0
 public int AddField(string pAttribute)
 {
     if (EntityCount == 1)
     {
         return(AddField(EntityCount.ToString(), pAttribute));
     }
     else if (EntityCount > 1)
     {
         return(AddField(EntityCount.ToString(), pAttribute));
     }
     else
     {
         return(0);
     }
 }
        public void Can_Get_Summary_With_Grouping()
        {
            using (var mock = AutoMock.GetLoose())
            {
                // Arrange
                var config           = mock.Provide <IAppConfig, TestConfig>();
                var groupedBy        = "Type";
                var testPet          = GetTestPet();
                var expectedMetadata = new Metadata(new[]
                {
                    Link.Self($"{Constants.TOKENIZED_CURRENT_URL}", HttpMethod.Get.Method),
                });
                var expectedCount = new EntityCount(groupedBy, new Dictionary <string, long>
                {
                    { PetType.Cat.ToString(), 1 }
                });
                var expectedFoodSummaryModel = new FoodSummaryModel();
                expectedFoodSummaryModel.FoodCounts.Add(new FoodCount(FoodType.Fish, 1));
                var expected = new SingleResponse(Result.Success, expectedMetadata, expectedFoodSummaryModel);
                mock.Mock <IRepository <PetEntity> >().Setup(x => x.Count <PetType>(groupedBy)).ReturnsAsync(expectedCount);
                var systemUnderTest = mock.Create <FoodService>();

                // Act
                var actual = systemUnderTest.Summary().Result;

                // Assert
                mock.Mock <IRepository <PetEntity> >().VerifyAll();
                Assert.IsNotNull(actual);
                Assert.IsNull(actual.Errors);
                Assert.IsNotNull(actual.Data);
                Assert.IsNotNull(actual.Metadata);
                Assert.IsNotNull(actual.Metadata.Links);
                Assert.AreEqual(actual.Result, Result.Success);
                var actualFoodSummary = actual.Data as FoodSummaryModel;
                Assert.IsNotNull(actualFoodSummary.FoodCounts);
                Assert.AreEqual(expectedFoodSummaryModel.FoodCounts.Count, actualFoodSummary.FoodCounts.Count);
                Assert.IsTrue(FoodCountsAreEqual(expectedFoodSummaryModel.FoodCounts, actualFoodSummary.FoodCounts));
                Assert.AreEqual(expected.Metadata.ServerVersion, actual.Metadata.ServerVersion);
                Assert.IsTrue(MetadataLinksAreEqual(expected.Metadata.Links, actual.Metadata.Links));
            }
        }