Пример #1
0
        public async Task MemberShouldBeReturned()
        {
            using (var context = await NewParkSharkInMemoryTestContext())
            {
                var memberService     = new MemberService(context.ParkSharkDbContext);
                var membersController = new MembersController(context.Mapper, memberService);

                var newMemberDto = new CreateNewMemberDto
                {
                    ContactName         = "Maarten Merken",
                    ContactMobilePhone  = "00486743685",
                    ContactEmail        = "*****@*****.**",
                    ContactStreet       = "Aardeweg",
                    ContactStreetNumber = "39",
                    ContactPostalCode   = "3582",
                    ContactPostalName   = "Koersel",
                    LicensePlateNumber  = "VXK155",
                    LicensePlateCountry = "BE",
                    RegistrationDate    = DateTime.Now
                };

                var newMemberId = GetResult <MemberDto>(await membersController.CreateNewMember(newMemberDto)).Id;

                var member = GetResult <MemberDto>(await membersController.GetMember(newMemberId));

                Assert.AreNotEqual(default(int), member.Id);
                Assert.AreEqual(newMemberId, member.Id);
                Assert.AreEqual(newMemberDto.ContactName, member.Contact.Name);
                Assert.AreEqual(newMemberDto.ContactEmail, member.Contact.Email);
                Assert.AreEqual(newMemberDto.LicensePlateCountry, member.LicensePlate.Country);
                Assert.AreEqual(newMemberDto.LicensePlateNumber, member.LicensePlate.Number);
                Assert.AreEqual(newMemberDto.ContactPostalCode, member.Contact.Address.PostalCode);
                Assert.AreEqual(newMemberDto.ContactPostalName, member.Contact.Address.PostalName);
            }
        }
Пример #2
0
        public async Task MemberShouldBeCreatedWithGoldLevel()
        {
            using (var context = await NewParkSharkInMemoryTestContext())
            {
                var memberService     = new MemberService(context.ParkSharkDbContext);
                var membersController = new MembersController(context.Mapper, memberService);

                var newMemberDto = new CreateNewMemberDto
                {
                    ContactName         = "Maarten Merken",
                    ContactMobilePhone  = "00486743685",
                    ContactEmail        = "*****@*****.**",
                    ContactStreet       = "Aardeweg",
                    ContactStreetNumber = "39",
                    ContactPostalCode   = "3582",
                    ContactPostalName   = "Koersel",
                    LicensePlateNumber  = "VXK155",
                    LicensePlateCountry = "BE",
                    RegistrationDate    = DateTime.Now,
                    MemberShipLevel     = MemberShipLevel.Level.Gold.ToString()
                };

                var newMember  = GetResult <MemberDto>(await membersController.CreateNewMember(newMemberDto));
                var memberInDb = await context.ParkSharkDbContext.Members.FindAsync(newMember.Id);

                await context.ParkSharkDbContext.Entry(memberInDb).Reference(c => c.RelatedMemberShipLevel).LoadAsync();

                Assert.AreEqual(MemberShipLevel.Level.Gold, memberInDb.MemberShipLevel);
                Assert.AreEqual(MemberShipLevel.Level.Gold, memberInDb.RelatedMemberShipLevel.Name);
            }
        }
Пример #3
0
        public async Task MemberShouldBeReturned()
        {
            await RunWithinTransactionAndRollBack(async (client) =>
            {
                var newMemberDto = new CreateNewMemberDto
                {
                    ContactName         = "Maarten Merken",
                    ContactMobilePhone  = "00486743685",
                    ContactEmail        = "*****@*****.**",
                    ContactStreet       = "Aardeweg",
                    ContactStreetNumber = "39",
                    ContactPostalCode   = "3582",
                    ContactPostalName   = "Koersel",
                    LicensePlateNumber  = "VXK155",
                    LicensePlateCountry = "BE",
                    RegistrationDate    = DateTime.Now
                };

                var payload = Serialize(newMemberDto);
                var createMemberResponse = await client.PostAsync("api/members", payload);
                var memberId             = (await DeserializeAsAsync <MemberDto>(createMemberResponse.Content)).Id;

                var memberResponse = await client.GetAsync("api/members/" + memberId);
                var member         = await DeserializeAsAsync <MemberDto>(memberResponse.Content);

                Assert.AreNotEqual(default(int), member.Id);
                Assert.AreEqual(newMemberDto.ContactName, member.Contact.Name);
                Assert.AreEqual(newMemberDto.ContactEmail, member.Contact.Email);
                Assert.AreEqual(newMemberDto.LicensePlateCountry, member.LicensePlate.Country);
                Assert.AreEqual(newMemberDto.LicensePlateNumber, member.LicensePlate.Number);
                Assert.AreEqual(newMemberDto.ContactPostalCode, member.Contact.Address.PostalCode);
                Assert.AreEqual(newMemberDto.ContactPostalName, member.Contact.Address.PostalName);
            });
        }
Пример #4
0
        public async Task MemberShouldBeCreatedWitGoldLevel()
        {
            await RunWithinTransactionAndRollBack(async (client) =>
            {
                var newMemberDto = new CreateNewMemberDto
                {
                    ContactName         = "Maarten Merken",
                    ContactMobilePhone  = "00486743685",
                    ContactEmail        = "*****@*****.**",
                    ContactStreet       = "Aardeweg",
                    ContactStreetNumber = "39",
                    ContactPostalCode   = "3582",
                    ContactPostalName   = "Koersel",
                    LicensePlateNumber  = "VXK155",
                    LicensePlateCountry = "BE",
                    RegistrationDate    = DateTime.Now,
                    MemberShipLevel     = MemberShipLevel.Level.Gold.ToString()
                };

                var payload = Serialize(newMemberDto);
                var createMemberResponse = await client.PostAsync("api/members", payload);
                var memberDto            = await DeserializeAsAsync <MemberDto>(createMemberResponse.Content);

                Assert.AreEqual(MemberShipLevel.Level.Gold.ToString(), memberDto.MemberShipLevel);
            });
        }
Пример #5
0
        public async Task <ActionResult <MemberDto> > CreateNewMember(CreateNewMemberDto createNewMemberDto)
        {
            var member = this.mapper.MapTo <Member, CreateNewMemberDto>(createNewMemberDto);

            var newMember = await this.service.CreateNewMember(member);

            var memberDto = this.mapper.MapTo <MemberDto, Member>(newMember);

            return(Ok(memberDto));
        }