public async Task Should_ThrowException_When_CreatingMeetup_If_HasMeetupInToday() { var meetupRepository = new MeetupRepository(_fixture.dbContext); var meetupPolicy = new MeetupPolicy(meetupRepository); var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("123"); var createMeetupCommandHandler = new CreateMeetupCommandHandler(meetupRepository, meetupPolicy, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var createMeetupCommand = new CreateMeetupCommand { Subject = "DDD", Description = "DDD Practices", When = DateTime.Now.AddDays(5), Address = "YTÜ Teknopark" }; var exception = await Assert.ThrowsAsync <MeetupDomainException>(async() => { await createMeetupCommandHandler.Handle(createMeetupCommand, cancellationToken); }); Assert.Equal("A maximum of one meetup is defined", exception.Message); }
public async Task Should_Success_Joining_ToMetup() { var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("456"); var mockMeetupPolicy = new Mock <IMeetupPolicy>(); mockMeetupPolicy.Setup((x) => x.CheckCanDefineMeetup(It.IsAny <string>(), It.IsAny <DateTime>())).Callback(() => { }); var meetup = new Meetup( organizerId: "123", subject: "DDD", when: DateTime.Now.AddDays(1), description: "DDD Practices", location: new Location("YTÜ Teknopark"), policy: mockMeetupPolicy.Object); _fixture.dbContext.Add(meetup); var meetupRepository = new MeetupRepository(_fixture.dbContext); var joinMeetupCommandHandler = new JoinMeetupCommandHandler(meetupRepository, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var joinMeetupCommand = new JoinMeetupCommand { MeetupId = meetup.Id }; await joinMeetupCommandHandler.Handle(joinMeetupCommand, cancellationToken); Assert.Single(_fixture.dbContext.Meetups.FirstOrDefault().Participants); }
public CancelSeatReservationCommandHandler( MeetupRepository repository, MeetupReadModelUpdater readModelUpdater) { _repository = repository; _readModelUpdater = readModelUpdater; }
public ReserveSeatCommandHandler( MeetupRepository meetupRepository, MeetupReadModelUpdater readModelUpdater) { _repository = meetupRepository; _readModelUpdater = readModelUpdater; }
public CreateMeetupCommandHandler( MeetupRepository repository, MeetupReadModelUpdater readModelUpdater) { _repository = repository; _readModelUpdater = readModelUpdater; }
public async Task Should_Succes_When_CreatingMeetup() { var meetupRepository = new MeetupRepository(_fixture.dbContext); var meetupPolicy = new MeetupPolicy(meetupRepository); var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("123"); var createMeetupCommandHandler = new CreateMeetupCommandHandler(meetupRepository, meetupPolicy, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var createMeetupCommand = new CreateMeetupCommand { Subject = "DDD", Description = "DDD Practices", When = DateTime.Now.AddDays(5), Address = "YTÜ Teknopark" }; await createMeetupCommandHandler.Handle(createMeetupCommand, cancellationToken); Assert.Equal(1, _fixture.dbContext.Meetups.Count()); Assert.True(_fixture.IsVerifiedMeetupAnnouncedDomainEventHandler); _fixture.IsVerifiedMeetupAnnouncedDomainEventHandler = false; }
public App(string pushNotifParameter = null) { //INITIALIZATION if (AppContext == null) { IGeolocator geoLocator = CrossGeolocator.Current; IRepository repository = new AzureRepository("http://xdevmessaging.azurewebsites.net/"); IPositionUpdater positionUpdater = new PositionUpdater(repository); IDisplayNameProvider <User> userDisplayNameProvider = new UserDisplayNameProvider(); MeetupRepository meetupRepository = new MeetupRepository(); AppContext = new AppContext(repository, geoLocator, positionUpdater, userDisplayNameProvider, meetupRepository); } //Check stored data //if (AppContext.IsUserStored) //{ // AppContext.LoginFromStorageAsync().Wait(); // var mapPage = new NavigationPage(new MapPage(AppContext)); // MainPage = mapPage; //} //else //{ var loginPage = new NavigationPage(new LoginPage(AppContext)); MainPage = loginPage; //} }
public async Task Should_ThrowException_When_AddingComment_If_ParticipantIsNot() { var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("456"); var mockMeetupPolicy = new Mock <IMeetupPolicy>(); mockMeetupPolicy.Setup((x) => x.CheckCanDefineMeetup(It.IsAny <string>(), It.IsAny <DateTime>())).Callback(() => { }); var meetup = new Meetup( organizerId: "123", subject: "DDD", when: DateTime.Now.AddDays(1), description: "DDD Practices", location: new Location("YTÜ Teknopark"), policy: mockMeetupPolicy.Object); meetup.Complete(); _fixture.dbContext.Add(meetup); var meetupRepository = new MeetupRepository(_fixture.dbContext); var addMeetupCommentCommandHandler = new AddCommentCommandHandler(meetupRepository, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var addMeetupCommentCommand = new AddCommentCommand { MeetupId = meetup.Id, Comment = "Good!" }; var exception = await Assert.ThrowsAsync <MeetupDomainException>(async() => { await addMeetupCommentCommandHandler.Handle(addMeetupCommentCommand, cancellationToken); }); Assert.Equal("You are not a participant", exception.Message); }
public async Task GetMeetupById_Should_Get_Meetup_By_Given_Id() { var memoryDatabaseProvider = new InMemoryDatabaseProvider(_database); var meetupRepository = new MeetupRepository(memoryDatabaseProvider); var id = 2; Meetup meetup = await meetupRepository.GetMeetupById(id); Meetup dbMeetup = _database.Meetups.FirstOrDefault(m => m.Id == id); Assert.NotNull(meetup); Assert.NotNull(dbMeetup); Assert.Equal(meetup.Id, dbMeetup.Id); Assert.Equal(meetup.Title, dbMeetup.Title); Assert.Equal(meetup.Date, dbMeetup.Date); Assert.Equal(meetup.Description, dbMeetup.Description); Assert.Equal(meetup.MeetupLink, dbMeetup.MeetupLink); Assert.True(dbMeetup.Attendees != null && dbMeetup.Attendees.Any(s => meetup.Attendees.Contains(s))); Assert.True(dbMeetup.VideoIds != null && dbMeetup.VideoIds.Any(s => meetup.VideoIds.Contains(s))); Assert.True(dbMeetup.SponsorIds != null && dbMeetup.SponsorIds.Any(s => meetup.SponsorIds.Contains(s))); Assert.True(dbMeetup.Photos != null && dbMeetup.Photos.Any(s => meetup.Photos.Contains(s))); }
public async Task Should_ThrowException_When_CompletingMeetup_ToNotFoundMeetup() { var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("456"); var mockMeetupPolicy = new Mock <IMeetupPolicy>(); mockMeetupPolicy.Setup((x) => x.CheckCanDefineMeetup(It.IsAny <string>(), It.IsAny <DateTime>())).Callback(() => { }); var meetup = new Meetup( organizerId: "123", subject: "DDD", when: DateTime.Now.AddDays(1), description: "DDD Practices", location: new Location("YTÜ Teknopark"), policy: mockMeetupPolicy.Object); _fixture.dbContext.Add(meetup); var meetupRepository = new MeetupRepository(_fixture.dbContext); var completeMeetupCommandHandler = new CompleteMeetupCommandHandler(meetupRepository, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var completeMeetupCommand = new CompleteMeetupCommand { MeetupId = meetup.Id }; var exception = await Assert.ThrowsAsync <NotFoundException>(async() => { await completeMeetupCommandHandler.Handle(completeMeetupCommand, cancellationToken); }); Assert.Equal("Meetup not found", exception.Message); }
public async Task Should_Succes_When_CancelingMeetup() { var mockIdentityService = new Mock <IIdentityService>(); mockIdentityService.Setup((x) => x.GetUserId()).Returns("123"); var mockMeetupPolicy = new Mock <IMeetupPolicy>(); mockMeetupPolicy.Setup((x) => x.CheckCanDefineMeetup(It.IsAny <string>(), It.IsAny <DateTime>())).Callback(() => { }); var meetup = new Meetup( organizerId: "123", subject: "DDD", when: DateTime.Now.AddDays(1), description: "DDD Practices", location: new Location("YTÜ Teknopark"), policy: mockMeetupPolicy.Object); _fixture.dbContext.Add(meetup); var meetupRepository = new MeetupRepository(_fixture.dbContext); var cancelMeetupCommandHandler = new CancelMeetupCommandHandler(meetupRepository, mockIdentityService.Object); var cancellationToken = new CancellationToken(); var cancelMeetupCommand = new CancelMeetupCommand { MeetupId = meetup.Id }; await cancelMeetupCommandHandler.Handle(cancelMeetupCommand, cancellationToken); var result = await _fixture.dbContext.Meetups.FindAsync(meetup.Id); Assert.True(result.Cancelled); }
public async Task GetMeetups_Should_Get_All_Meetups() { var memoryDatabaseProvider = new InMemoryDatabaseProvider(_database); var meetupRepository = new MeetupRepository(memoryDatabaseProvider); IList <Meetup> meetups = (await meetupRepository.GetMeetups()).ToList(); foreach (Meetup dbMeetup in _database.Meetups.ToList()) { Meetup meetup = meetups.FirstOrDefault(m => m.Id == dbMeetup.Id); Assert.NotNull(meetup); Assert.NotNull(dbMeetup); Assert.Equal(meetup.Id, dbMeetup.Id); Assert.Equal(meetup.Title, dbMeetup.Title); Assert.Equal(meetup.Date, dbMeetup.Date); Assert.Equal(meetup.Description, dbMeetup.Description); Assert.Equal(meetup.MeetupLink, dbMeetup.MeetupLink); Assert.True(dbMeetup.Attendees != null && dbMeetup.Attendees.Any(s => meetup.Attendees.Contains(s))); Assert.True(dbMeetup.VideoIds != null && dbMeetup.VideoIds.Any(s => meetup.VideoIds.Contains(s))); Assert.True(dbMeetup.SponsorIds != null && dbMeetup.SponsorIds.Any(s => meetup.SponsorIds.Contains(s))); Assert.True(dbMeetup.Photos != null && dbMeetup.Photos.Any(s => meetup.Photos.Contains(s))); } }
public CancelSeatReservationCommandHandler(MeetupRepository repository) { _repository = repository; }
public AppContext(IRepository repository, IGeolocator geoLocator, IPositionUpdater positionUpdater, IDisplayNameProvider <User> userDisplayNameProvider, MeetupRepository meetupRepository) { this.Repository = repository; this.GeoLocator = geoLocator; this.PositionUpdater = positionUpdater; this.UserDisplayNameProvider = userDisplayNameProvider; this.MeetupRepository = meetupRepository; }
public ReserveSeatCommandHandler(MeetupRepository meetupRepository) { _repository = meetupRepository; }
public SpeakersController(ILogger <EventsController> logger, MeetupRepository repository) { _logger = logger; _repository = repository; }
public DemoService(ILogger <DemoService> logger, MeetupRepository meetupRepository) { _logger = logger; _meetupRepository = meetupRepository; }
public CreateMeetupCommandHandler(MeetupRepository repository) { _repository = repository; }
public ScheduleMeetupCommandHandler(MeetupRepository meetupRepository) { this.meetupRepository = meetupRepository; }
public MeetupRepositoryTest() { filePath = Path.GetTempFileName() + ".txt"; meetupRepository = new MeetupRepository(filePath); }
public MeetupController(MeetupRepository meetupRepository) { this.meetupRepository = meetupRepository; }