Example #1
0
        public void Map_MapsEllCoach()
        {
            //Given
            Instructor instructor1 = new Instructor()
            {
                FirstName = "instructor1First",
                LastName  = "instructor1Last",
                Gender    = Gender.Male,
                Email     = "*****@*****.**"
            };
            Instructor instructor2 = new Instructor()
            {
                FirstName = "instructor2First",
                LastName  = "instructor2Last",
                Gender    = Gender.Male,
                Email     = "*****@*****.**"
            };
            EllCoach coach = new EllCoach()
            {
                FirstName = "coachFirst",
                LastName  = "coachLast",
                Gender    = Gender.Male,
                Email     = "*****@*****.**"
            };

            coach.Instructors.Add(instructor1);
            coach.Instructors.Add(instructor2);
            //When
            EllCoachDto dto = GetMapped <EllCoachDto, EllCoach>(coach);

            //Then
            Assert.Equal(coach.Id.ToString(), dto.Id);
            Assert.Equal(coach.FirstName, dto.FirstName);
            Assert.Equal(coach.LastName, dto.LastName);
            Assert.Equal(coach.Email, dto.Email);
            Assert.Equal(coach.Gender, dto.Gender);
            Assert.Equal(DataAccessConstants.noSqlEllCoachType, dto.Type);
            Assert.Equal(DataAccessConstants.noSqlEllCoachVersion, dto.Version);
            Assert.Equal(2, dto.Instructors.Count);
            Assert.Equal(instructor1.Id.ToString(), dto.Instructors[0].Id);
            // Assert.Equal(instructor1.FirstName, dto.Instructors[0].FirstName);
            // Assert.Equal(instructor1.LastName, dto.Instructors[0].LastName);
            Assert.Equal(instructor1.Email, dto.Instructors[0].Email);
            // Assert.Equal(instructor1.Gender, dto.Instructors[0].Gender);
            // Assert.Equal(instructor1.Department, dto.Instructors[0].Department);
            Assert.Equal(instructor2.Id.ToString(), dto.Instructors[1].Id);
            // Assert.Equal(instructor2.FirstName, dto.Instructors[1].FirstName);
            // Assert.Equal(instructor2.LastName, dto.Instructors[1].LastName);
            Assert.Equal(instructor2.Email, dto.Instructors[1].Email);
            // Assert.Equal(instructor2.Gender, dto.Instructors[1].Gender);
            // Assert.Equal(instructor2.Department, dto.Instructors[1].Department);
            Assert.All(dto.Instructors, instructor => Assert.Equal(DataAccessConstants.noSqlInstructorShortType, instructor.Type));
            Assert.All(dto.Instructors, instructor => Assert.Equal(DataAccessConstants.noSqlInstructorShortVersion, instructor.Version));
        }
Example #2
0
        public async Task Save_WhenEllCoachDto_AddsEllCoachToDb()
        {
            //Given
            DbContextOptions <PeopleContext> options = this.GetCosmosDbToEmulatorOptions <PeopleContext>();

            using PeopleContext context = new PeopleContext(options, GetConfig());
            string coachId          = GetId();
            string coachEmail       = "*****@*****.**";
            string instructor1Id    = GetId();
            string instructor1Email = "*****@*****.**";
            string instructor2Id    = GetId();
            string instructor2Email = "*****@*****.**";

            InstructorShortDto instructor1 = new InstructorShortDto()
            {
                Id    = instructor1Id,
                Email = instructor1Email
            };
            InstructorShortDto instructor2 = new InstructorShortDto()
            {
                Id    = instructor2Id,
                Email = instructor2Email
            };
            EllCoachDto coach = new EllCoachDto()
            {
                Id          = coachId,
                Email       = coachEmail,
                Type        = DataAccessConstants.noSqlEllCoachType,
                Instructors = new List <InstructorShortDto>()
                {
                    instructor1, instructor2
                }
            };

            //When
            context.Add(coach);
            await context.SaveChangesAsync();

            coach = await context.FindAsync <EllCoachDto>(coachId);

            //Then
            Assert.Equal(coachId, coach.Id);
            Assert.Equal(coachEmail, coach.Email);
            Assert.Equal(instructor1Id, coach.Instructors[0].Id);
            Assert.Equal(instructor1Email, coach.Instructors[0].Email);
            Assert.Equal(instructor2Id, coach.Instructors[1].Id);
            Assert.Equal(instructor2Email, coach.Instructors[1].Email);
        }