@@ -2,17 +2,21 @@ module Main where
22
33import Universum
44
5+ import Data.List (nub )
6+
57import Test.Hspec (Spec , describe , hspec , it , pending , shouldBe )
68import Test.Hspec.QuickCheck (modifyMaxSuccess )
7- import Test.QuickCheck (Gen , arbitrary , elements , forAll , listOf , listOf1 , property )
9+ import Test.QuickCheck (Gen , arbitrary , elements , forAll , listOf , listOf1 , property ,
10+ (===) )
811import Test.QuickCheck.Monadic (assert , monadicIO , pre , run )
912
10- import Configuration (defaultConfig , basicIOLayer )
11- import DataSource (App , Attachment (.. ), Comment (.. ), Config (.. ), DeletedTicket (.. ),
12- ExportFromTime (.. ), IOLayer (.. ), Ticket (.. ), TicketId (.. ),
13- TicketInfo (.. ), TicketStatus (.. ), TicketTags (.. ), User , UserId (.. ),
14- ZendeskAPIUrl (.. ), DataLayer (.. ), ZendeskResponse (.. ),
15- createResponseTicket , runApp , showURL , emptyDBLayer , emptyDataLayer )
13+ import Configuration (basicIOLayer , defaultConfig )
14+ import DataSource (App , Attachment (.. ), Comment (.. ), Config (.. ), DataLayer (.. ),
15+ DeletedTicket (.. ), ExportFromTime (.. ), IOLayer (.. ), Ticket (.. ),
16+ TicketId (.. ), TicketInfo (.. ), TicketStatus (.. ), TicketTag (.. ),
17+ TicketTags (.. ), User , UserId (.. ), ZendeskAPIUrl (.. ),
18+ ZendeskResponse (.. ), createResponseTicket , emptyDBLayer ,
19+ emptyDataLayer , renderTicketStatus , runApp , showURL )
1620import Exceptions (ProcessTicketExceptions (.. ))
1721
1822import Lib (exportZendeskDataToLocalDB , filterAnalyzedTickets , listAndSortTickets ,
@@ -494,11 +498,11 @@ createResponseTicketSpec =
494498 it " should preserve tags from ticketinfo and zendeskresponse" $
495499 property $ \ agentId ticketInfo zendeskResponse ->
496500 let responseTicket = createResponseTicket agentId ticketInfo zendeskResponse
497- ticketInfoTags = getTicketTags (tiTags ticketInfo)
498- zendeskResponseTags = getTicketTags (zrTags zendeskResponse)
499- mergedTags = ticketInfoTags <> zendeskResponseTags
501+ mergedTags = getTicketTags $ tiTags ticketInfo <> zrTags zendeskResponse
500502 responseTags = getTicketTags $ tTag responseTicket
501- in all (`elem` responseTags) mergedTags
503+ -- in summary, the response tags have the debuggers `analyzed-by-script-version` tag AND
504+ -- they remove the `to_be_analysed` tag AND they are unique.
505+ in (filter (/= renderTicketStatus ToBeAnalyzed ) . nub $ renderTicketStatus AnalyzedByScriptV1_3 : mergedTags) === responseTags
502506
503507
504508exportZendeskDataToLocalDBSpec :: Spec
0 commit comments