Ejemplo n.º 1
0
        public void Should_Success_When_CompletingMeetup()
        {
            var meetup = new Meetup(
                organizerId: "123",
                subject: "DDD",
                when: DateTime.Now.AddDays(1),
                description: "DDD Practices",
                location: new Location("YTÜ Teknopark"),
                policy: meetupPolicy);

            meetup.Complete();

            Assert.True(meetup.Completed);
        }
Ejemplo n.º 2
0
        public void Should_Succes_When_AddingPhoto_ToMeetup()
        {
            var meetup = new Meetup(
                organizerId: "123",
                subject: "DDD",
                when: DateTime.Now.AddDays(1),
                description: "DDD Practices",
                location: new Location("YTÜ Teknopark"),
                policy: meetupPolicy);

            meetup.Complete();

            meetup.AddPhoto("photo.jpg");

            Assert.Single(meetup.Photos);
        }
Ejemplo n.º 3
0
        public void Should_Sucess_When_AddingComment()
        {
            var meetup = new Meetup(
                organizerId: "123",
                subject: "DDD",
                when: DateTime.Now.AddDays(1),
                description: "DDD Practices",
                location: new Location("YTÜ Teknopark"),
                policy: meetupPolicy);

            meetup.Join("456");

            meetup.Complete();

            meetup.AddComment("456", "Good!");

            Assert.Single(meetup.Comments);
        }
Ejemplo n.º 4
0
        public void Should_ThrowException_When_AddingComment_If_ParticipantIsNot()
        {
            var meetup = new Meetup(
                organizerId: "123",
                subject: "DDD",
                when: DateTime.Now.AddDays(1),
                description: "DDD Practices",
                location: new Location("YTÜ Teknopark"),
                policy: meetupPolicy);

            meetup.Complete();

            var exception = Assert.Throws <MeetupDomainException>(() =>
            {
                meetup.AddComment("456", "Good!");
            });

            Assert.Equal("You are not a participant", exception.Message);
        }
Ejemplo n.º 5
0
        public void Should_ThrowException_When_Joining_ToCompletedMeetup()
        {
            var exception = Assert.Throws <MeetupDomainException>(() =>
            {
                var meetup = new Meetup(
                    organizerId: "123",
                    subject: "DDD",
                    when: DateTime.Now.AddDays(1),
                    description: "DDD Practices",
                    location: new Location("YTÜ Teknopark"),
                    policy: meetupPolicy);

                meetup.Complete();

                meetup.Join(Guid.NewGuid().ToString());
            });

            Assert.Equal("Meetup is completed", exception.Message);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        public async Task Should_Sucess_When_AddingComment()
        {
            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.Join("456");
            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!"
            };

            await addMeetupCommentCommandHandler.Handle(addMeetupCommentCommand, cancellationToken);

            Assert.Single(_fixture.dbContext.Meetups.FirstOrDefault().Comments);
        }