public void ShouldCreateNewRoom()
        {
            var communicatorMock = new Mock <ICommunicator>();
            var viewModel        = new RoomOverviewPageModel(communicatorMock.Object, new Mock <IEventAggregator>().Object);

            viewModel.NewObjectCommand.Execute(null);

            communicatorMock.Verify(x => x.SendAsync(It.Is <CreateRoomDataRequest>(y => y.ClientObjectIdentifier == 0x01 && y.Description == "New room")));
        }
Exemple #2
0
        public void ShouldCreateNewRoom()
        {
            const int roomId = 3;
            var       eventAggregatorMock = new Mock <IEventAggregator>();
            var       viewModel           = new RoomOverviewPageModel(new Mock <ICommunicator>().Object, eventAggregatorMock.Object);

            viewModel.NavigateToObjectCommand.Execute(roomId);

            eventAggregatorMock.Verify(x => x.PublishAsync(It.Is <NavigationEvent>(y => y.ViewType == typeof(RoomDetailPage) && (int)y.Parameter == roomId)));
        }
        public async void ShouldSendGetRoomDescriptionRequestForAllRoomsOnReceiveGetAllRoomsResponse()
        {
            var communicatorMock = new Mock <ICommunicator>();

            var viewModel = new RoomOverviewPageModel(communicatorMock.Object, new Mock <IEventAggregator>().Object);
            await viewModel.LoadedAsync(null);

            communicatorMock.Raise(x => x.ReceiveData += null, new GetAllRoomsDataResponse {
                Identifiers = new[] { 1, 2, 3 }
            });

            communicatorMock.Verify(x => x.SendAsync(It.Is <IRequest>(y => y is GetRoomDescriptionDataRequest && ((GetRoomDescriptionDataRequest)y).Identifier == 1)));
            communicatorMock.Verify(x => x.SendAsync(It.Is <IRequest>(y => y is GetRoomDescriptionDataRequest && ((GetRoomDescriptionDataRequest)y).Identifier == 2)));
            communicatorMock.Verify(x => x.SendAsync(It.Is <IRequest>(y => y is GetRoomDescriptionDataRequest && ((GetRoomDescriptionDataRequest)y).Identifier == 3)));
        }
        public async void ShouldResetRoomsViewModelOnReceiveGetAllRoomsResponse()
        {
            var communicatorMock = new Mock <ICommunicator>();

            var viewModel = new RoomOverviewPageModel(communicatorMock.Object, new Mock <IEventAggregator>().Object);
            await viewModel.LoadedAsync(null);

            communicatorMock.Raise(x => x.ReceiveData += null, new GetAllRoomsDataResponse {
                Identifiers = new[] { 1, 2, 3 }
            });

            viewModel.Objects.Count.Should().Be(3);
            viewModel.Objects[0].Id.Should().Be(1);
            viewModel.Objects[1].Id.Should().Be(2);
            viewModel.Objects[2].Id.Should().Be(3);
        }
        public async void ShouldAddNewRoomOnReceiveCreateRoomDataResponse()
        {
            var communicatorMock = new Mock <ICommunicator>();

            var viewModel = new RoomOverviewPageModel(communicatorMock.Object, new Mock <IEventAggregator>().Object);
            await viewModel.LoadedAsync(null);

            await viewModel.NewObjectCommand.Execute(null);

            communicatorMock.Raise(x => x.ReceiveData += null, new CreateRoomDataResponse {
                Identifier = 3, ClientObjectIdentifier = 0x01
            });

            viewModel.Objects.Should().HaveCount(1);
            viewModel.Objects[0].Id.Should().Be(3);
            viewModel.Objects[0].Description.Should().Be("New room");
        }
        public async void ShouldSetRoomDescriptionOnReceiveGetRoomDescriptionResponse()
        {
            var communicatorMock = new Mock <ICommunicator>();

            var viewModel = new RoomOverviewPageModel(communicatorMock.Object, new Mock <IEventAggregator>().Object);
            await viewModel.LoadedAsync(null);

            viewModel.Objects.Add(new RoomViewModel {
                Id = 1
            });

            communicatorMock.Raise(x => x.ReceiveData += null, new GetRoomDescriptionDataResponse {
                Identifier = 1, Description = "living room"
            });

            viewModel.Objects[0].Description.Should().Be("living room");
        }