public async Task Get_With_Pagination_Options_Should_Return_PageList_With_Page_1_When_30_Users_Exists() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 30); var sut = new UserRepository(inMemoryContext); var getUsersOptions = new GetOptions { PageSize = 10, PageNumber = 1 }; // Act... var pagedList = await sut.Get(getUsersOptions); // Assert... pagedList.Should().NotBeNull(); pagedList.Count.Should().Be(10); pagedList.TotalCount.Should().Be(30); pagedList.CurrentPage.Should().Be(1); pagedList.TotalPages.Should().Be(3); pagedList.HasPrevious.Should().BeFalse(); pagedList.HasNext.Should().BeTrue(); }
public async Task UpdateUserHandler_Should_Update_User() { // Arrange... var unitOfWork = GetUnitOfWork(out var inMemoryContext); var user = _fixture.Create <User>(); InMemoryContextHelper.AddUserToContext(inMemoryContext, user); var sut = new UpdateUserCommandHandler(unitOfWork); var updateUserCommand = new UpdateUserCommand { Id = user.Id, Title = _fixture.Create <Title>(), FirstName = _fixture.Create <string>(), LastName = _fixture.Create <string>(), Sex = _fixture.Create <Sex>() }; var ct = new CancellationToken(); // Act... var updatedUser = await sut.Handle(updateUserCommand, ct); // Assert... inMemoryContext.Users.Count().Should().Be(1); user.Title.Should().Be(updateUserCommand.Title); user.FirstName.Should().Be(updateUserCommand.FirstName); user.LastName.Should().Be(updateUserCommand.LastName); user.Sex.Should().Be(updateUserCommand.Sex); }
public async Task Sort_Should_Sort_Users_Into_Correct_Order_When_Ascending() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 3); var sut = new UserRepository(inMemoryContext); var getOptions = new GetOptions(); var ordering = new Ordering("FirstName", SortOrder.Ascending); getOptions.AddOrdering(ordering); // Act... var pageOfUsers = await sut.Get(getOptions); // Assert... pageOfUsers.Should().NotBeNull(); pageOfUsers.Count.Should().Be(3); pageOfUsers.TotalCount.Should().Be(3); var orderedInMemoryUsers = inMemoryContext.Users.OrderBy(x => x.FirstName); var firstUser = orderedInMemoryUsers.Skip(0).Take(1); var secondUser = orderedInMemoryUsers.Skip(1).Take(1); var thirdUser = orderedInMemoryUsers.Skip(2).Take(1); pageOfUsers.Skip(0).Take(1).Should().BeEquivalentTo(firstUser); pageOfUsers.Skip(1).Take(1).Should().BeEquivalentTo(secondUser); pageOfUsers.Skip(2).Take(1).Should().BeEquivalentTo(thirdUser); }
public async Task Persistence_PagedList_To_API_PagedList() { // Arrange... _fixture.RepeatCount = 10; var users = _fixture.Create <List <User> >(); var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(inMemoryContext, users); var pagedListUsers = await Persistence.Models.PagedList <User> .CreateAsync(inMemoryContext.Users, 1, 5); var configuration = new MapperConfiguration(configure => { configure.AddProfile <PersistencePagedListToApiPagedList>(); }); var sut = configuration.CreateMapper(); // Act... var pagedListUserResponses = sut.Map <API.Models.v1.PagedList <UserResponse> >(pagedListUsers); // Assert... pagedListUserResponses.Count.Should().Be(pagedListUsers.PageSize); pagedListUserResponses.CurrentPage.Should().Be(pagedListUsers.CurrentPage); pagedListUserResponses.PageSize.Should().Be(pagedListUsers.PageSize); pagedListUserResponses.HasPrevious.Should().Be(pagedListUsers.HasPrevious); pagedListUserResponses.HasNext.Should().Be(pagedListUsers.HasNext); pagedListUserResponses.TotalCount.Should().Be(pagedListUsers.TotalCount); pagedListUserResponses.TotalPages.Should().Be(pagedListUsers.TotalPages); }
public GamePageViewModel(GamePage gamePage, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper) { GamePage = gamePage; _questHelper = questHelper; _inMemoryContextHelper = inMemoryContextHelper; GamePage.UpdateLayout(); GamePage.MainCanvas.UpdateLayout(); }
public MainMenuPage(ApplicationService applicationService, NavigationService navigationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper) { InitializeComponent(); _applicationService = applicationService; _navigationService = navigationService; _logHelper = logHelper; _questHelper = questHelper; _inMemoryContextHelper = inMemoryContextHelper; }
private IUnitOfWork GetUnitOfWork(out DataContext inMemoryContext) { inMemoryContext = InMemoryContextHelper.Create(); var userRepository = new UserRepository(inMemoryContext); var dt = _fixture.Create <DateTime>(); var mockDateTimeService = MockDateTimeServiceHelper.Create(dt); var unitOfWork = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository); return(unitOfWork); }
private void _StartButton_Click(object sender, RoutedEventArgs e) { IContextHelper contextHelper = new InMemoryContextHelper(); GameContext gameContext = new GameContext(contextHelper); _navigationService.GamePage = new GamePage(_applicationService, _navigationService, _logHelper, _questHelper, _inMemoryContextHelper); _navigationService.MainWindowFrame.Content = _navigationService.GamePage; _ContinueButton.Opacity = 1; _ContinueButton.IsEnabled = true; _inMemoryContextHelper.SetToOriginal(); }
public GamePage(ApplicationService applicationService, NavigationService navigationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper) { InitializeComponent(); playerStats = new PlayerStats(); _StatsGoHere.Children.Add(new StatBlock(new StatBlockViewModel(playerStats))); this.Loaded += new RoutedEventHandler(this.Page_Loaded); _applicationService = applicationService; _navigationService = navigationService; LogHelper = logHelper; QuestHelper = questHelper; InMemoryContextHelper = inMemoryContextHelper; }
protected override void OnStartup(StartupEventArgs e) { LogHelper logHelper = new LogHelper(); ApplicationService applicationService = new ApplicationService(logHelper); QuestHelper questHelper = new QuestHelper(); InMemoryContextHelper inMemoryContextHelper = new InMemoryContextHelper(); MainWindow window = new MainWindow(applicationService, new NavigationService(applicationService, logHelper, questHelper, inMemoryContextHelper)); window.Show(); base.OnStartup(e); logHelper.logger.Info("Program started"); }
public GameCoreServices(GamePage gamePage, GamePageViewModel gamePageViewModel, PlayerStats playerStats, LogHelper logHelper, InMemoryContextHelper inMemoryContextHelper) { LogHelper = logHelper; KeyRing = new KeyRing(); GameCanvas = gamePage.MainCanvas; StackPanel = gamePage._InventoryStackPanel; GamePageViewModel = gamePageViewModel; PlayerStats = playerStats; PlayerStats.CurrentLocation = inMemoryContextHelper.LoadDataType <Location>()[0]; _inMemoryContextHelper = inMemoryContextHelper; }
public void Get_With_Null_Options_Should_Throw() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); var sut = new UserRepository(inMemoryContext); GetOptions getOptions = null; // Act... Func <Task> get = async() => await sut.Get(getOptions); // Assert... get.Should().Throw <ArgumentNullException>(); }
public void Find_Should_Not_Return_User_When_User_Is_Not_Findable() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1); var sut = new Persistence.Repositories.UserRepository(inMemoryContext); var randomFirstName = _fixture.Create <string>(); // Act... var foundUsers = sut.Find(u => u.FirstName == randomFirstName); // Assert... foundUsers.Should().NotBeNull(); foundUsers.Count().Should().Be(0); }
public async Task Create_Should_Be_Able_To_Add_User() { // Arrange... var user = _fixture.Create <User>(); var inMemoryContext = InMemoryContextHelper.Create(); var userRepository = new UserRepository(inMemoryContext); var dt = _fixture.Create <DateTime>(); var mockDateTimeService = MockDateTimeServiceHelper.Create(dt); var sut = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository); // Act... sut.UserRepository.Create(user); await sut.CompleteAsync(); // Assert... inMemoryContext.Users.Count().Should().Be(1); inMemoryContext.Users.First().Should().Be(user); user.Id.Should().NotBe(default);
public async Task Get_With_Empty_Options_Should_Return_PagedList_With_No_Users_When_No_Users_Exist() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); var sut = new UserRepository(inMemoryContext); var getUsersOptions = new GetOptions(); // Act... var pagedList = await sut.Get(getUsersOptions); // Assert... pagedList.Should().BeEmpty(); pagedList.Count.Should().Be(0); pagedList.TotalCount.Should().Be(0); pagedList.CurrentPage.Should().Be(0); pagedList.TotalPages.Should().Be(0); pagedList.HasPrevious.Should().BeFalse(); pagedList.HasNext.Should().BeFalse(); }
public async Task GetUserHandler_Should_Get_User() { // Arrange... var unitOfWork = GetUnitOfWork(out var inMemoryContext); var user = _fixture.Create <User>(); InMemoryContextHelper.AddUserToContext(inMemoryContext, user); var sut = new GetUserQueryHandler(unitOfWork); var getUserQuery = new GetUserQuery { Id = user.Id }; var ct = new CancellationToken(); // Act... var result = await sut.Handle(getUserQuery, ct); // Assert... result.Should().Be(user); }
public async Task Filter_Should_Exclude_Users_That_Do_Not_Match_Filter() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1); var onlyUser = inMemoryContext.Users.First(); var sut = new Persistence.Repositories.UserRepository(inMemoryContext); var getOptions = new GetOptions(); var filter = new Filter("Title", GetDifferent(onlyUser.Title).ToString()); getOptions.AddFilter(filter); // Act... var pageOfUsers = await sut.Get(getOptions); // Assert... pageOfUsers.Should().NotBeNull(); pageOfUsers.Count.Should().Be(0); }
public async Task Search_Should_Not_Find_Users_That_Do_Not_Match_Search() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 2); var onlyUser = inMemoryContext.Users.First(); var sut = new Persistence.Repositories.UserRepository(inMemoryContext); var getOptions = new GetOptions(); getOptions.SearchQuery = _fixture.Create <string>(); // Act... var pageOfUsers = await sut.Get(getOptions); // Assert... pageOfUsers.Should().NotBeNull(); pageOfUsers.Count.Should().Be(0); pageOfUsers.TotalCount.Should().Be(0); }
public async Task DeleteUserHandler_Should_Delete_User() { // Arrange... var unitOfWork = GetUnitOfWork(out var inMemoryContext); var user = _fixture.Create <User>(); InMemoryContextHelper.AddUserToContext(inMemoryContext, user); var sut = new DeleteUserCommandHandler(unitOfWork); var deleteUserCommand = new DeleteUserCommand { Id = user.Id }; var ct = new CancellationToken(); // Act... await sut.Handle(deleteUserCommand, ct); // Assert... inMemoryContext.Users.Count().Should().Be(0); }
public async Task GetUsersHandler_Should_Get_Users() { // Arrange... var unitOfWork = GetUnitOfWork(out var inMemoryContext); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 5); var mapper = GetMapper(); var sut = new GetUsersQueryHandler(unitOfWork, mapper); var getUsersQuery = new GetUsersQuery { PageNumber = 1, PageSize = 10 }; var ct = new CancellationToken(); // Act... await sut.Handle(getUsersQuery, ct); // Assert... inMemoryContext.Users.Count().Should().Be(5); }
public async Task Get_With_Empty_Options_Should_Return_PageList_With_One_User_When_Only_One_User_Exists() { // Arrange... var inMemoryContext = InMemoryContextHelper.Create(); InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1); var sut = new UserRepository(inMemoryContext); var getUsersOptions = new GetOptions(); // Act... var pagedList = await sut.Get(getUsersOptions); // Assert... pagedList.Should().NotBeNull(); pagedList.Count.Should().Be(1); pagedList.TotalCount.Should().Be(1); pagedList.CurrentPage.Should().Be(1); pagedList.TotalPages.Should().Be(1); pagedList.HasPrevious.Should().BeFalse(); pagedList.HasNext.Should().BeFalse(); }
public NavigationService(ApplicationService applicationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper) { LogHelper = logHelper; MainMenu = new MainMenuPage(applicationService, this, LogHelper, questHelper, inMemoryContextHelper); }