public async Task UpdateAndSaveTest() { var membershipCard1 = new MembershipCard() { Id = 1, CreatedAt = date1, MemberId = 1 }; var membershipCard2 = new MembershipCard() { Id = 2, CreatedAt = date2, MemberId = 2 }; var membershipCards = new List <MembershipCard> { membershipCard1, membershipCard2 }; var newMembershipCard2 = new MembershipCard() { Id = 2, CreatedAt = date3, MemberId = 2 }; var fakeMembershipCardRepositoryMock = new Mock <IMembershipCardRepository>(); var fakeMemberRepositoryMock = new Mock <IMemberRepository>(); fakeMembershipCardRepositoryMock.Setup(x => x.Update(It.IsAny <MembershipCard>())).Callback <MembershipCard>(arg => membershipCards[1] = arg); var membershipCardService = new MembershipCardService(fakeMembershipCardRepositoryMock.Object, fakeMemberRepositoryMock.Object); await membershipCardService.UpdateAndSave(newMembershipCard2); Assert.Equal(date3, membershipCards[1].CreatedAt); }
public async Task <IActionResult> Edit(long id, [Bind("Id,CreatedAt,MemberId")] MembershipCard membershipCard) { if (id != membershipCard.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _membershipCardService.UpdateAndSave(membershipCard); } catch (DbUpdateConcurrencyException) { if (!_membershipCardService.MembershipCardExists(membershipCard.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["MemberId"] = new SelectList(await _membershipCardService.GetAllMembers(), "Id", "Name", membershipCard.MemberId); return(View(membershipCard)); }