public void Throw_InvalidOperationException_WhenAutomapper_HaventRightBinding() { var colleciton = new List <Worker>(); var mockedSet = QueryableDbSetMock.GetQueryableMockDbSet(colleciton); var mockedContext = new Mock <IWhenItsDoneDbContext>(); mockedContext.Setup(x => x.Set <Worker>()).Returns(mockedSet); var obj = new WorkerAsyncRepository(mockedContext.Object); Assert.CatchAsync <InvalidOperationException>(() => obj.GetWorkersNamesAndId()); }
public void NotThrow_WhenCollection_IsEmpty() { var colleciton = new List <Worker>(); var mockedSet = QueryableDbSetMock.GetQueryableMockDbSet(colleciton); var mockedContext = new Mock <IWhenItsDoneDbContext>(); mockedContext.Setup(x => x.Set <Worker>()).Returns(mockedSet); Mapper.Initialize(config => { config.CreateMap <Worker, WorkerNamesIdDTO>() .ForMember(dest => dest.Id, opts => opts.MapFrom(x => x.Id)) .ForMember(dest => dest.FirstName, opts => opts.MapFrom(x => x.FirstName)) .ForMember(dest => dest.LastName, opts => opts.MapFrom(x => x.LastName)) .ForMember(dest => dest.NumberOfDishes, opts => opts.MapFrom(x => x.Dishes.Count)); }); var expected = colleciton .Select(x => new WorkerNamesIdDTO() { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, NumberOfDishes = x.Dishes.Count }) .ToList(); var obj = new WorkerAsyncRepository(mockedContext.Object); var result = obj.GetWorkersNamesAndId().Result; // coz objects are not same and have to assert vs their values CollectionAssert.AreEquivalent(expected.Select(x => x.Id), result.Select(x => x.Id)); CollectionAssert.AreEquivalent(expected.Select(x => x.FirstName), result.Select(x => x.FirstName)); CollectionAssert.AreEquivalent(expected.Select(x => x.LastName), result.Select(x => x.LastName)); CollectionAssert.AreEquivalent(expected.Select(x => x.NumberOfDishes), result.Select(x => x.NumberOfDishes)); }