Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task CreateAsync_ExistingTags_RelationAdded()
- {
- //arrange
- var expected = _fixture.Create<Printer>();
- const string printerName = "TestName";
- const string printerNetworkName = "TestNetworkName";
- var tagsToCreate = new List<string>
- {
- "FirstTag",
- "SecondTag"
- };
- var user = new UserInfo(1,
- "UserName",
- "Name",
- "FirstName",
- "LastName",
- "Email",
- false);
- var model = new PrinterCreateModel(printerName,
- printerNetworkName,
- tagsToCreate,
- user);
- var expectedFirstTagId = Guid.Parse("80B003D8-3E3B-46F2-BBE1-3B3FFFB32477");
- var expectedSecondTagId = Guid.Parse("ee9c7c3d-297d-4744-9c5e-8b1e33404392");
- var expectedUtcNow = new DateTimeOffset(2019,
- 8,
- 20,
- 11,
- 45,
- 0,
- TimeSpan.Zero);
- var existsTags = new List<Tag>
- {
- new Tag(expectedSecondTagId,
- "SecondTag",
- expectedUtcNow,
- user),
- };
- var expectedMapsToAdd = new List<PrinterTagMap>
- {
- new PrinterTagMap(expected.Id, expectedFirstTagId),
- new PrinterTagMap(expected.Id, expectedSecondTagId)
- };
- _guidProviderMock.Setup(p => p.GenerateNewGuid()).Returns(expectedFirstTagId);
- _dateTimeProviderMock.Setup(p => p.GetUtcNow()).Returns(expectedUtcNow);
- _printerRepositoryMock.Setup(x => x.AddAsync(model))
- .Returns(new AddedEntry<Printer, Guid>(expected, s => s.Id));
- _tagsRepositoryMock.Setup(x => x.GetByNamesAsync(model.Tags)).ReturnsAsync(existsTags);
- //act
- await _printerService.CreateAsync(model);
- //assert
- _printerTagsMapRepositoryMock.Verify(r => r.Add(It.Is<IReadOnlyList<PrinterTagMap>>(maps => maps.IsDeepEqual(expectedMapsToAdd))));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement