public void Test_GetStateAvailability_ByAdmin() { var stateAvailability = _context.CreateMany <long>(6).ToArray(); var dictionary = _context.Create <Dictionary <long, StateData> >(); _context.ApplicationRepository.Setup(x => x.Get(_applicationData.Id)).Returns(_applicationData); _context.StateFilter.Setup(x => x.GetStateAvailabilityToSet()).Returns(stateAvailability); _context.IdentityService.Setup(x => x.IsInRole(RoleType.Admin)).Returns(true); _context.IdentityService.Setup(x => x.Language).Returns(TwoLetterISOLanguageName.English); _context.StateRepository.Setup(x => x.Get(TwoLetterISOLanguageName.English, stateAvailability)).Returns(dictionary); var stateModels = _service.GetStateAvailability(_applicationData.Id); foreach (var model in stateModels) { dictionary[model.StateId].LocalizedName.ShouldBeEquivalentTo(model.StateName); } _context.IdentityService.Verify(x => x.IsInRole(RoleType.Admin), Times.Once()); _context.ApplicationRepository.Verify(x => x.Get(_applicationData.Id), Times.Once()); _context.StateFilter.Verify(x => x.GetStateAvailabilityToSet(), Times.Once()); _context.IdentityService.Verify(x => x.Language, Times.Exactly(1)); _context.StateRepository.Verify(x => x.Get(TwoLetterISOLanguageName.English, stateAvailability), Times.Once()); }